|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我先解释一下我的学习思路。 身为一位中级PHPer菜鸟..无聊了就爱在各个PHP服装论坛瞎转.看到了很多多少PHP初学者都问到了良多不异的成绩.并且我学PHP的时分也都碰到过.为了 让PHP初学者少走一些弯路.所以俄然神经恍忽.决意写下此文章.仅供PHP初学者参考.若有毛病.还望指出.不甚感谢.
PHP实际上是一种很复杂易学的言语.假如要精晓PHP多则三年.少则一年就足够了.然而为何三年以后咱们照样是菜鸟?
不晓得从甚么入手下手.进修PHP咱们不能不进修数据库.进修架构.进修面向对象.进修前端.进修linux.进修协定乃至美工等直接招致了如今PHPer都是最累的一种法式员.
最累就不算甚么了.常常PHP会被以为是上等的法式.拿着最初级的薪水.却要把握web方面几近全体的常识.这其实是不公允.
可喜的是 咱们逐步在国际看到了改变.国际愈来愈多的公司从Java或C#等转到了PHP.所以列位PHPer必定要有本人的妄想.你们城市很牛B的.请深信.
扯远了.回到我要说的重点上.上面几个成绩包括着我碰到的成绩.或许我说的纷歧定对或你纷歧定赞同我的意见.非常情愿承受你的定见.总之咱们只是想让PHPer都雄起:-)
1.编码的成绩
这不但是PHP..只需是法式上.就会碰到.最少我和我身旁的人都碰到了.并且在Web方面.常常编码成绩更长短常难处理.十分难调试.有时分法式出了稀里糊涂的成绩,很难想到是编码出了成绩等等.
这些成绩老是困扰着咱们.所以我建议PHP初学者.必定要编码一致.而且激烈建议一致为UTF-8.中文不建议利用GBK或GB2312等.由于在AJAX中传输的时分是不熟悉这类编码的.
假如要一致编码,就要在编码能够呈现的任何中央注重一下.
1) header头的编码
团体建议在你的PHP中都应当加高低面这句话(特别header除外)
复制代码 代码以下:
header("Content-type: text/html;charset=utf-8");
如许可以免一些成绩.好比咱们可以看到有些网站submit后就是一个alert然后跳转.然而他们没有设置编码.假如他的编码跟阅读器的默许编码纷歧致.就会呈现乱码了.
你是纯真的HTML.必定要记得把meta的编码标签放到title标签后面. 假如你不睬解就记住把编码的信息放到head标签的第一行就能够了.终究的后果是如许的
复制代码 代码以下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
2) 文件的编码
咱们保留文件的时分,选择编码必定要一致.假如依照下面的.咱们就应当选择UTF-8.
普通的编纂器都有此文件的编码信息.假如你发明不是UTF-8.请即刻更改.
好比咱们在Dreamweaver中翻开了一个模板文件.发明右下角显示 GB2312(简体中文).此时不要做任何更改.即刻CTRL+J 然后选择编码更改成UTF-8形式并保留.
文件的编码纷歧定是PHP文件的.也得包管你的JavaScript文件与CSS文件都为UTF-8编码.
别的还有一个主要的一点.就是BOM..这个东东PHP是不太接待的.所以咱们在保留的时分要选择UTF-8无BOM格局.假如你用的编纂器是UE.那末请你侧重注重这一点.
3) 数据库的编码
这个我就不想多说了.网上有太多的文章.假如你是MySQL记得每次毗连落后行SET NAMES = ‘utf8′就能够了.而且谁人utf8两头是没有横线的.
2.MVC的成绩
法式员实际下去说应当是个完善主义者.他们不但想着把法式写的运转就能够了.并且还要优雅.
然而话说回来.把法式依照MVC做了今后咱们的代码就优雅了吗? 谜底固然是不是定的.
进修架构是一个了解的进程.当你真正体味到这个架构的优点的时分.才会了解其真实的寄义.切勿自觉.
有时分咱们会做如许的盘算.用这个月的工夫去进修MVC.好吧.我想你应当如许去做.你学会给本人定方针了.
然而一个月后咱们或许其实不能真实的了解MVC..然而最少咱们会依据他的形式他的根基.换句话说或许咱们没有学会葵花宝典.然而咱们应当会用辟邪剑法了.
3.面向对象的成绩
关于PHP面向对象的成绩.一向都扳缠不清.有的人不感觉PHP面向对象是个好的器材.有的人乃至不以为面向对象是个好的玩意,好比Linus.
咱们不用去纠缠这个器材究竟好欠好.最少咱们应当晓得从面向对象出生到如今.经由了这么多年的演化.应用到各类项目乃至言语中.咱们有来由信任存期近有其事理.
理论是查验真谛的独一尺度.这么多年面向对象更加展情势越好.看来咱们进修就变得是种必需了.
与一些架构的常识相似.面向对象也不是那末勤学的.面向对象是种理念.然而详细到某种言语的时分.其意义也会产生一些奇妙的变更.
PHP的面向对象很天真.再加上其独有的魔术办法.会培养出一种出格情势的面向对象.或许这跟你平常看Java的面向对象不太一样.
纷歧定把你需求的办法放到一个类中就是面向对象.当你真正体味到面向对象给你的编码带来快捷.带来便利.你就对面向对象有更深的一层了解了.
正所谓欲速则不达.切勿心急.你想几天以内了解绝对论那地道是扯淡.
4.算法的成绩
仿佛PHP与算法老是相距甚远的.PHP大多半算法都是基于数组完成的.而咱们又晓得PHP的数组的特征就注定当数组变得十分大的时分.效力会直线下落.
其实PHP就是个做网站的.人人不要也不用给她带甚么高帽子.在Web方面特别是在PHP所办事的前真个实践情形下会触及到算法的中央会十分少.
PHP的算法面试题不过就是对数组或对字符串的操作..动动头脑加上手册.那根基就没成绩了.
那你或许会问.我想进修PHP.那我还进修算法吗?
我感觉你需求学.而且更需求学数据布局.这门作业就像是一门内功.会在潜移默化中影响你的编码.
这时候候再共同上咱们后面的辟邪剑法.祝贺你 你已学会葵花宝典了!
5.框架的成绩
PHP的框架是各类言语中最多的.用不必框架.选甚么框架这又成为一个争议的话题..
我的建议长短常保举进修最少一款框架.这可以加深你对PHP的熟悉.咱们进修框架不是说要学这个框架怎样用.怎样做项目.
咱们要去看它的源码.看看他是怎样完成的.这时候候你就能够选择本人开辟一个小型的框架.不求做的多好.不求他人几何项目去应用.
咱们只是为了进修罢了.
6.JavaScript的成绩
可以说我看过这么多言语.最奇异就莫过于JavaScript了.平常Java一向传播鼓吹本人一切皆对象.其实我更感觉JavaScript才是一切皆对象.
JavaScript勤学吗? 勤学!其其实平常Web应用时分.普通的JavaScript操作就是DOM操作.
JavaScript难学吗? 难学!假如咱们被其他言语的面向对象的思惟束厄局促了.就很难了解JavaScript的面向对象.而且JavaScript外面概念也十分多.
prototype arguments call apply callee caller 闭包等概念就让咱们手足无措.再加上诡异的JavaScript的代码作风与其难调试的特点直接招致咱们这些菜鸟避而远之.
已经我转发过一段完成document.ready的代码.其诡异水平不能不信服.
团体感觉看一些JavaScript框架的源码就是最好的进修办法.已经在写我的PHP框架的时分.因为利用了一致进口+本人界说的URL划定规矩.所以再利用通俗属性为get的form的时分就会获得不到参数.
这时候候我就想到了jQuery.form中的formSerialize办法.摘选出来并做了一些修正.就能够拿来利用了.
7.CSS成绩
我之所与把CSS跟JavaScript分隔来讲.我感觉CSS的进修更有特色.
其实要我说CSS是最复杂的器材了.咱们只是晓得了一些根基的CSS属性.写页面相对不成成绩.
CSS的次要特点在于必需下手.你看N本CSS的书不照实际下手去写一个页面.
CSS别的一个特色就是很多试.或许这个属性不克不及到达你的后果.那你就换一个.这也是最笨最无效的举措:-)
固然 这只是低级CSS的请求. 会了这些以后 咱们还得兼容阅读器. 其实这个也不难 不过就是几个阅读器同时开着一个属性一个属性的试.
也能够熟记一些hack 好比IE6熟悉_ IE都熟悉*等.假如你感觉如许写CSS不敷尺度.那末把hack放到分歧的css文件中.好比ie6的就叫ie6.css
然后再页面上用上面的代码就能够了.
复制代码 代码以下:
<!--[if lt IE 6]>
<link href="css/ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->
更初级确当然是用户的体验与设计了.这个我也不懂就不说了@_@ 但愿达人增补.
8.linux的成绩
团体激烈建议每人的电脑上都装置一个linux体系.假如你感觉太折腾 可以选择wubi体例装置Ubuntu.关于懒人这个是最复杂无效的办法了.
你无聊的时分可以下载一份PHP源码本人编译下尝尝.切忌apt-get.由于常常办事器版本不是rhel就是centos.那边是没有这个号令的.
并且apt-get到的常常不是最新的版本.而且又不克不及本人定制.
linux总会呈现如许在世那样稀里糊涂的成绩.好比情况略微纷歧样就编译欠亨过.办事起不来.
这时候候不要焦急.看毛病提醒 看日记.Google下本人测验考试处理.
编译完不要感觉就完了 尝尝分歧的设置装备摆设.并且修正一下源码再编译尝尝.
好比咱们下载了一份nginx的源码.然后修正下header优等一些中央. 就能够编译一份属于本人的HTTP Web Server了.
固然 你假如叫BWS或GWS也行:-)
还有个成绩 linux需求背号令吗? 这个是无可厚非的. 熟记一些经常使用的号令可以进步速度.这点我需求反思.常常一些经常使用的号令还需求看下参数..
别的一个就是Shell的成绩. Shell其实不难.然而语法在我看来对照丑恶@_@. 看看wiki就能够进修泰半了..次要还得是接洽. 咱们可以看到一个景象.一些公司在雇用初级PHPer的时分这条也列为必需前提了.
其实网上linux的材料十分多. 大多半你碰到的成绩他人城市碰到.所以擅长用Google. 而且熟读英语.
9.言语的成绩
这个的成绩就太多口水战了.终究谁也没有克服谁.咱们不用去介入这些无聊的工作.这些都是年老粪青要做的.
你再牛B你有Linus牛B吗? 他喷C++的喷了这么多年.C++怎样了?
所以咱们不用纠缠这些.做好本人做的就OK了.
既然你选择了PHP.就不要犹疑.
或许咱们在做项目标时分PHP显得不敷用了.那咱们可以用Java或C来做个两头件.这又未尝不成.
一种言语发扬她的最大最用才是真谛.
10.立场的成绩
立场必定要狂妄自大. 这是作为一个法式员应当有的美德.切勿自我收缩.
你学的越多 你就会发明本人缺乏就越多.
等你牛B了你可以说一些傲慢的话.然而如今咱们都不牛B.最少假如你看到我写的这篇文章.你应当还不太牛B. 我说了这篇文章是面向初学者的:-)
11.女人的成绩
呃..这个本人处理吧@_@
刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。 |
|