仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3475|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:晋城吧对DiscuzX停止的前端优化要点

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:24:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
开发相册系统过程中就有过这样的问题,因为没有交流好,出现重复工作问题,因为文档没有详细的说明而经常临时问对方。   比来,康盛的DX版本根基肯定,最少短时间内不会大变了,因而,我对晋城吧的整站停止了前端优化,把本人 所做的操作纪录上去,一是有个纪录,避免忘失落,二是和网上的伴侣们同享下本人的心得。 前端优化 保举东西
火狐阅读器+Yslow+谷歌 pagespeed+Firebug 详细下载地址 请自行百度
1、DX后台 及DIY的优化
1.首页DIY防止过量层的嵌套
DX的每个框架城市发生十分多十分多十分多的 代码。我的首页已尽量复杂了,了局光 DOM 有1600+,逅牢伊恕
所以,尽量不要用过量的框架嵌套
2.防止过量的用户头像挪用
首页的会员挪用是利用重定向的,会减慢网页的速度,UCenter却是能改成伪静态,然而今朝是有BUG的,没有自界说头像 的会员头像是没法显示的
3.翻开Gzip
在网站后台 或到config.php文件 将Gzip翻开
4.后台图尽量反复使用,削减后台图的数目
各个栏目标后台图尽量一样,如许可以反复使用图片,要找到雅观和速度之间的均衡,这一条,我其实也还在不休的测验考试 中,这里保举监控宝的办事器访 问速度跟踪,可以全局把握本人网站被用户会见时的速度情况。
5.翻开并设置好后台的各类优化弛缓存
关于这方面的材料良多,我就不在这里华侈工夫了,(被pia飞~~~)
2、代码 及空间优化
1.使用minify紧缩兼并js
DX的CSS 根基兼并的很好,一个页面一到2个,然而JS就良多了。翻开你的模板的common目次的header.htm,看到么。密密层层的js ,而过 多的文件会形成毗连过量,减慢速度。
这里咱们使用minify将其兼并 紧缩 缓存
起首,下载minify的紧缩包,解压,将min文件夹上传到网站根目次。
然后修正2个文件:
1.min 文件夹下的groupsConfig.php
  <?php
/**
* Groups configuration for default Minify implementation
* @package Minify
*/
/**
* You may wish to use the Minify URI Builder app to suggest
* changes. http://yourdomain/min/builder/
**/
return array(

在上边的代码后边加上以下的代码
   'portal' => array('//static/js/common.js', '//static/js/home_friendselector.js', '//static/js/forum.js', '//static/js/portal.js'),

'forum' => array('//static/js/common.js', '//static/js/home_friendselector.js', '//static/js/forum.js'),

'home' => array('//static/js/common.js', '//static/js/home_friendselector.js', '//static/js/home_cookie.js', '//static/js/home_common.js', '//static/js/home_face.js', '//static/js/home_manage.js'),

'userapp' => array('//static/js/common.js', '//static/js/home_friendselector.js', '//static/js/forum.js', '//static/js/home_common.js'),

2.修正模板的header.htm 甚么??这个文件在哪里????我被你们打败了。。
修正以下 ,将第一段代码 交换为第二段
  <script type="text/javascript" src="{$_G[setting][jspath]}common.js?{VERHASH}"></script>
<script type="text/javascript" src="{$_G[setting][jspath]}home_friendselector.js?{VERHASH}"></script>
<!--{if $_G['basescript'] == 'forum' $_G['basescript'] == 'group'}-->
<script type="text/javascript" src="{$_G[setting][jspath]}forum.js?{VERHASH}"></script>
<!--{elseif $_G['basescript'] == 'home'}-->
<script type="text/javascript" src="{$_G[setting][jspath]}home_cookie.js?{VERHASH}"></script>
<script type="text/javascript" src="{$_G[setting][jspath]}home_common.js?{VERHASH}"></script>
<script type="text/javascript" src="{$_G[setting][jspath]}home_face.js?{VERHASH}"></script>
<script type="text/javascript" src="{$_G[setting][jspath]}home_manage.js?{VERHASH}"></script>
<!--{elseif $_G['basescript'] == 'userapp'}-->
<script type="text/javascript" src="{$_G[setting][jspath]}home_common.js?{VERHASH}"></script>
<!--{elseif $_G['basescript'] == 'portal'}-->
<script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
<!--{/if}-->
<!--{if $_G['basescript'] != 'portal' && $_GET['diy'] == 'yes' && ($_G[mod] == 'topic' $_G[group][allowdiy]) && !empty($_G['style']['tplfile'])}-->
<script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
<!--{/if}-->
<!--{if $_GET[diy] == 'yes' && ($_G[mod] == 'topic' $_G[group][allowdiy]) && !empty($_G['style']['tplfile'])}-->{subtemplate common/css_diy}<!--{/if}-->

交换为
<!--{if $_G['basescript'] == 'forum' $_G['basescript'] == 'group'}-->
<script type="text/javascript" src="/min/g=forum"></script>
<!--{elseif $_G['basescript'] == 'home'}-->
<script type="text/javascript" src="/min/g=home"></script>
<!--{elseif $_G['basescript'] == 'userapp'}-->
<script type="text/javascript" src="/min/g=userapp"></script>
<!--{elseif $_G['basescript'] == 'portal'}-->
<script type="text/javascript" src="/min/g=portal"></script>
<!--{/if}-->
<!--{if $_G['basescript'] != 'portal' && $_GET['diy'] == 'yes' && ($_G[mod] == 'topic' $_G[group][allowdiy]) && !empty($_G['style']['tplfile'])}-->
<script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
<!--{/if}-->
<!--{if $_GET[diy] == 'yes' && ($_G[mod] == 'topic' $_G[group][allowdiy]) && !empty($_G['style']['tplfile'])}-->{subtemplate common/css_diy}<!--{/if}--> 翻开晋城吧首页,点开源代码 ,看看 开首 的 head 里的 js 是否是少了良多啊
2.修正图片、Flash、css、js的缓存工夫
为上述东东设置缓存一个长长的缓存工夫。好比1年,那末在第一次会见后,用户在这一年中都不必下载后台图,flash,css,js 。固然条件是你没有修正
办法 是修正网站根目次.htaccess文件
到场以下代码
  <ifmodule mod_expires.c>
<FilesMatch ".(htmlhtm)$ ">
Header set Cache-Control "max-age=43200″
</FilesMatch>
#cache css, javascript and text files for one week
<FilesMatch ".(jscsstxt)$ ">
Header set Cache-Control "max-age=604800″
</FilesMatch>
#cache flash and images for one month
<FilesMatch ".(flvswficogifjpgjpegpng)$ ">
Header set Cache-Control "max-age=2592000″
</FilesMatch>
#disable cache for script files
<FilesMatch "\.(plphpcgisplscgifcgi)$ ">
Header unset Cache-Control
</FilesMatch>
</ifmodule>

3、总结
恩,临时的优化就是这些,经由过程这些优化,晋城吧 的yslow评分从50 D 上升到80+ B ,有些页面的评分为90+ A.整体仍是很无效果的。
假如你需求转发此文,还请保存晋城吧链 接,假如能协助做个友链,那就太感激了。。。
附上一些网站在07年Yslow的评分
Amazon     D
AOL        F
CNN        F
eBay       C
Google     A
MSN        F
MySpace    D
Wikipedia  C
Yahoo!     A
YouTube    D
作者:晋城吧
文章来历:http://www.jincheng8.com.cn/thread-303-1-1.html
掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。
沙发
发表于 2015-2-16 00:50:50 | 只看该作者
实践是检验自己会不会的真理。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-2-18 20:45:39 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
兰色精灵 该用户已被删除
地板
 楼主| 发表于 2015-2-27 13:28:00 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
不帅 该用户已被删除
5#
发表于 2015-3-9 05:46:13 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
变相怪杰 该用户已被删除
6#
发表于 2015-3-9 16:52:19 | 只看该作者
做为1门年轻的语言,php一直很努力。
柔情似水 该用户已被删除
7#
发表于 2015-3-11 00:39:32 | 只看该作者
爱上php,他也会爱上你。
山那边是海 该用户已被删除
8#
发表于 2015-3-17 17:08:33 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
爱飞 该用户已被删除
9#
发表于 2015-3-19 15:41:14 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
分手快乐 该用户已被删除
10#
发表于 2015-3-28 10:41:09 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
admin 该用户已被删除
11#
发表于 2015-3-31 05:16:08 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
透明 该用户已被删除
12#
发表于 2015-4-4 07:46:55 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
莫相离 该用户已被删除
13#
发表于 2015-4-21 16:44:43 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
深爱那片海 该用户已被删除
14#
发表于 2015-5-6 07:09:31 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
精灵巫婆 该用户已被删除
15#
发表于 2015-5-11 20:21:46 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
飘灵儿 该用户已被删除
16#
发表于 2015-6-6 12:18:08 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
海妖 该用户已被删除
17#
发表于 2015-7-10 21:00:36 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
蒙在股里 该用户已被删除
18#
发表于 2015-7-11 06:38:04 | 只看该作者
实践是检验自己会不会的真理。
乐观 该用户已被删除
19#
发表于 2015-7-12 06:27:10 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-28 15:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表