当前位置:首页 » 编程语言 » 精简php

精简php

发布时间: 2022-08-17 06:51:46

php代码优化问题

<?php
$path='lib/index.php';
if(isset($_POST['a'])&&$str=$_POST['a'])
$path='lib/'.$str.'.php';

if(is_file($path)){
$file=$path;
//dosomething......
}

② Php网站如何优化才好

优化网站,对于PHP来说主要有以下几点

  • 代码分析,找出耗时长或者卡顿的代码加以优化。

  • 循环太多:循环太多就考虑如何去掉循环,或者优化循环体结构,包括每次提前计算好变量,不在循环体内做过多运算。

  • IO瓶颈:就是sql语句有缺陷,或者磁盘读写过慢,网络带宽过低。sql优化包括索引优化,启用redis或memcache,分表分库等等优先顺序从前到后,网上都有很多教程。磁盘读写慢,就要考虑上固态硬盘。带宽就要联系网络运营商解决

  • 精简前端页面。现在页面功能越来越复杂,卡顿不一定是后台,前端出现问题也很多。包括页面内容太多(适当缩减一部分网页内容),js,css,图片太大(对js,css进行压缩,去掉冗余代码等。使用压缩格式的图片,如jpg格式控制图片大小(尽量在100K甚至10K以内)启用网页缓存等)

  • 深度优化性能,包括采用更快的PHP(PHP7.2),更快的服务器(Linux+nginx),更快的mysql(读写分离)等等。

③ php代码简化

可以把正则匹配封装成一个函数,传入str字符串就可以了,这样比之前少写几段代码

④ php如何将1000行代码优化成100行

如何压缩html代码,让html文件缩小优化

一、将table改为div布局 - TOP

尽量将table标签布局html重构div布局,可以节约至少40%的代码量。由于div代码少于table布局的html网页,所以搜索引擎索引权重也优于table布局的html网页。

二、缩减精简div、span、ul li等系列标签 - TOP

布局DIV+CSS网页时候,我们有时候可以节约一些DIV布局代码,减少代码量。
如下案例代码:

<divclass="divcss5">

<ul>

<li>CSS学习去DIVCSS5li>

<li>我爱DIVCSS5li>

<li>DIV+CSS学习去DIVCSS5li>

ul>

div>

可以改为:

<ulclass="divcss5">

<li>CSS学习去DIVCSS5li>

<li>我爱DIVCSS5li>

<li>DIV+CSS学习去DIVCSS5li>

ul>

这样可以节约一对div标签,从而减少html代码量,起到压缩html作用。这样直接对ul命名css样式类,可以区别在一个页面不同地方使用ul li列表标签。

三、删除多余空格 - TOP

删除多余空格换行,可以有效地压缩html代码占用字节,一般在开发完成后可以对html中代码进行删除换行和空格内容。

可以借助于DW软件进行批量删除html内标签之间空格

如:

<divclass="divcss5">

<div ...>div>

div>

可以删除空格与换行后:

<divclass="divcss5"><div ...>div>div>

这样即可节约空格和换行所占字节。

注意的是,网页发布版的可以借助于DW进行删除多余空格与空行。如果要再编辑,再到DW软件进行代码格式化排版即可。

四、表格类型布局时候适当使用table替代div布局 - TOP

如果是本身是表格数据列表排版,我们最好选择table,因为表格布局使用table优于div布局,使用table布局却比div布局节约html标签代码和节约css样式。

如下图表格数据类型,建议采用TABLE标签+CSS样式布局

类似这种列表型table表格,推荐使用table标签布局

五、网页GZIP压缩 - TOP

⑤ 有哪些适合练手的PHP项目

1. 项目名称:轻量级 B2C 商城系统

项目简介:本项目是一个拥有 PC 端 + H5 移动端的超轻量,功能强大的 B2C 商城系统。
技术实现:
核心框架:基于全新超轻量高性能Speed框架
JS框架:jQuery 1.10.2
移动端JS框架:Zepto 1.2.0
图表库:Flot 0.8.3
富文本编辑器:网络 精简版 UMeditor
JS模板引擎:Juicer 0.6.8
运行环境:
操作系统: Windows / Linux / Unix
Web 服务器:Apache / Nginx / IIS
PHP 版本:5.2 及以上
MySQL 版本:5.0 及以上
生产环境推荐:Linux + Nginx + PHP5.5 + MySQL5.6
项目地址:cigery/verydows - 码云
2、项目名称:基于 PHP 的轻量级路由器

项目简介:非常轻量级的路由器。无依赖、简洁、速度快、自定义性强。
轻量级且速度快,查找速度不受路由数量的影响。
支持路由参数定义,以及路由选项(比如设定 domains、schema 等检查限制)。
支持请求方法:GET POST PUT DELETE HEAD OPTIONS ...
支持事件: found notFound execStart execEnd execError,当触发事件时你可以做一些事情(比如记录日志等)。
支持动态获取 action 名。支持设置方法执行器(actionExecutor),通过方法执行器来自定义调用真实请求方法。
支持自动匹配路由到控制器就像 yii 一样,请参看配置项 autoRoute。
支持通过方法 SRouter::dispatch($path, $method) 手动调度一个路由。
你也可以不配置任何东西,它也能很好的工作。
项目地址:inhere/php-srouter - 码云
3. 项目名称:轻量级论坛社区系统
项目简介:本项目是一个基于 CodeIgniter 框架开发的 PHP 新型社区系统,她轻量小巧、简单易用、强大高效,又简称 ”STB(烧饼 BBS)。
项目地址:烧饼/startbbs - 码云
4. 项目名称:基于 PHP 的三维验证码
<img src="https://pic2.mg.com/50/v2-_hd.png" data-rawwidth="360" data-rawheight="80" class="content_image" width="360">
项目简介:打破传统的,基于 PHP 的 3d 英文字母验证码,图片粒子化,机器难以识别边界,破解难度极大。
项目地址:Quekie/Safe 3D Identifying Code
5. 项目名称:基于 PHP 的多进程网络爬虫框架

<img src="https://pic4.mg.com/50/v2-_hd.jpg" data-rawwidth="650" data-rawheight="800" class="origin_image zh-lightbox-thumb" width="650" data-original="https://pic4.mg.com/v2-_r.jpg">
项目简介:Beanbun 是一个简单可扩展的爬虫框架,支持分布式,支持守护进程模式与普通模式,守护进程模式基于 Workerman,下载器基于 Guzzle。
特点:
支持守护进程与普通两种模式(守护进程模式只支持 Linux 服务器)
默认使用 guzzle 进行爬取
支持分布式
支持内存、Redis 等多种队列方式
支持自定义URI过滤
支持广度优先和深度优先两种爬取方式
遵循 PSR-4 标准
爬取网页分为多步,每步均支持自定义动作(如添加代理、修改 user-agent 等)
灵活的扩展机制,可方便的为框架制作插件:自定义队列、自定义爬取方式...
项目地址:Kiddyu/Beanbun - 码云

⑥ php 简单的程序设计(轮流攻击)

胡乱写了个简单程序,不过测试程序的时候发现,你的伤害计算有很大的问题。
上面说道:实际伤害=A部队攻击力-B部队防御力
那么攻击最高的骑兵攻击是30,打在防最低为5的弓兵身上,那么伤害等于30-5=25,这里倒是没多大问题,但是又看
实际伤害/B部队单位血量=本次攻击杀死敌兵数量,余数进位.
那么杀死弓兵的数量就等于25/200=0.125 按余数进位也就是1而已 0.125已经是里面最大的伤害了,所以造成每次无论任意兵种攻击任意兵种,死亡的单位都是1.
附程序(没怎么思考,期待楼下更精简的算法):
<?php

//初始化团队
$team_a=array(
"5"=>set_c("军团A骑兵甲","cavalry"),
"11"=>set_c("军团A弓兵甲","archer"),
"14"=>set_c("军团A弓兵乙","archer"),
"8"=>set_c("军团A步兵甲","infantry"),
"7"=>set_c("军团A步兵乙","infantry")
);
$team_b=array(
"8"=>set_c("军团B骑兵甲","cavalry"),
"9"=>set_c("军团B骑兵乙","cavalry"),
"13"=>set_c("军团B弓兵甲","archer"),
"5"=>set_c("军团B步兵甲","infantry"),
"10"=>set_c("军团B步兵乙","infantry")
);
//按速度对团队进行排序
$team_a=spe_sort($team_a);
$team_b=spe_sort($team_b);
//初始化战斗单位
function set_c($name,$type){
//初始化兵种 infantry 步兵 archer弓兵 cavalry骑兵,兵种=>(攻,防,HP,速度,数量).
$arm=array(
"infantry"=>array("tak"=>20,"def"=>10,"hp"=>250,"spe"=>"20|24","amo"=>120),
"archer"=>array("tak"=>25,"def"=>5,"hp"=>200,"spe"=>"25|27","amo"=>100),
"cavalry"=>array("tak"=>30,"def"=>15,"hp"=>300,"spe"=>"28|30","amo"=>80)
);
$d=$arm[$type];
$d["name"]=$name;
$spe=explode("|",$d["spe"]);
$d["spe"]=rand($spe[0],$spe[1]);
return $d;
}
//速度排序
function spe_sort($array){
foreach($array as $key => $value)
{
$temp[$key] = $value['spe'];
}
arsort($temp);
foreach($temp as $key => $value)
{
$result[$key] = $array[$key];
}
return $result;
}
//战斗函数 $active=攻击团队 $passive=被攻击团队
function fight($active,$passive){
//目标选择规则
$targeting=array(7,4,10,1,13,8,5,11,2,14,9,6,12,3,15);
foreach($active as $k=>$a)
{ foreach($targeting as $t)
{
if(isset($passive[$t]))
{
$hurt=$active[$k]["tak"]-$passive[$t]["def"];
$kill=ceil($hurt/$passive[$t]["hp"]);
$passive[$t]["amo"]=$passive[$t]["amo"]-$kill;
echo "<font color='#0000FF'>".$active[$k]["name"]."</font> 攻击了 <font color='#0000FF'>". $passive[$t]["name"] ."</font>,共伤害<font color='#ff000'> $hurt </font>点,杀死<font color='#ff000'> $kill </font>个单位.剩余".$passive[$t]["amo"]."个单位</br>";

if( $passive[$t]["amo"]<=0)
{
echo "×<font color='#ff000'>".$passive[$t]["name"]."</font>被消灭了!</br>";
unset($passive[$t]);
if(!count($passive)){echo "<font color='#ff000'>该军团已全军覆没!战斗结束....</font>"; die();}
}
break;
}

}
}
echo "-------------------本回合结束,换对方攻击-------------------</br>";
fight($passive,$active);
}
echo "战斗开始!</br>";
fight($team_a,$team_b);
?>

⑦ 跪求一个极精简的PHP新闻管理系统CMS 只要非常简单的功能实现: 新闻显示,后台登陆,后台管理

你自己写了,要不就看下PHP100视频里面那个留言本的制作。

⑧ php加密授权以及打包怎么做

1关于PHP打包

把PHP解释器和PHP项目打包成一个安装包完全没有问题的,我甚至把PHP解释器打包到Android手机上跑都没问题.因为PHP官方提供了Windows版本的二进制包,所以连自己编译这一步都省了,为了精简PHP解释器,你可以把你不需要的扩展都删除掉,比如intl扩展及其依赖的ICU,精简后打包估计解释器能小于5个MB.因为PHP内置了HTTP服务器和SQLite数据库,所以客户端连Apache和MySQL也不依赖了,直接就能跑PHP项目,而且还省资源.

2.关于PHP代码保护

PHP7的opcache支持用opcache.file_cache导出PHP脚本对应的二进制opcode,这些opcode是跟操作系统和PHP解释器版本相关的,能起到一定的代码保护的作用.另外,Zend Guard和ionCube也提供了付费的PHP代码加密服务.

3.授权

比如可以在加密过的PHP代码里判断$_SERVER['SERVER_NAME'],如果不是授权时绑定的域名,就直接拒绝服务.如果还有什么不懂不明白的,你可以和我在后盾人看看教材找找答案,时间久了,就都清楚了,希望能帮到你

⑨ PHP代码简化 下面的代码怎么样优化一样呢两个同时执行

第二次的类别修改成功应该是下面的那个,还是不明白你想实现什么功能?

⑩ PHP帮我看下这个代码如何精简下。$tciid是二维数组,$myFile是一维数组

<?php
$tciid=(unique_arr($tciid,true));
$myFile = include("comm/converter.php");

$arr=array();
foreach(array_values($tciid) as $tmp){
$arr=array_merge($arr,array_values($tmp));
}
foreach($myFile as $file){
$m=explode(",",$file);
if(in_array($m[0],$arr)){
?>
<li><span><a href="<?=$m[0]?>" title="<?= $m[2] ?>"><?php echo $m[2] ?></a></span></li>
<?
}
}
?>

热点内容
安卓怎么修改饥荒 发布:2025-01-20 02:20:54 浏览:618
android64位开发环境 发布:2025-01-20 01:58:01 浏览:261
阿里云服务器能搭美国站点 发布:2025-01-20 01:49:34 浏览:276
安卓手机壁纸如何更换成动态壁纸 发布:2025-01-20 01:40:27 浏览:705
安卓微信签名在哪里修改 发布:2025-01-20 01:25:31 浏览:109
安卓电脑管家怎么恢复出厂设置 发布:2025-01-20 01:24:06 浏览:313
qt编译sqlite库 发布:2025-01-20 01:22:30 浏览:525
360摄像头存储设置 发布:2025-01-20 01:16:01 浏览:538
js防缓存 发布:2025-01-20 01:15:47 浏览:495
编程生日卡 发布:2025-01-20 01:15:14 浏览:206