❶ php有哪些框架
PHP的框架有很多,这里说一部分供大家参考:
国内框架:ThinkPHP, Canphp, KYPHP, InitPHP, SpeedPHP, CdvPHP,KPHP。
国外着名框架:Zend Framework,Codelgniter,CakePHP,Symfony,Yii,Seagull,Laravel。
小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,Rong Framework,Openbiz Framework。
❷ php框架都有什么
PHP的框架最着名的就是Zend Framework,官方的,
其它还有CakePHP,Yii,等,
国内的比较有名的像THINKPHP,简单易学,文档也丰富,适合作入门学习,
至于LS说的DISCUZ,那些只是CMS,不是框架
❸ 一名合格的PHP工程师的知识结构是怎样的
1 如果是程序员的话,不管你是ruby、python、java、.net、c、c++,还是php,你可能都需要学习这些语言的基本知识,这个语言的函数库,或者是类库,那是越熟悉越好
2 对于web应用开发的程序员,你肯定要熟悉数据库和sql编程,那肯定是越熟悉越好,而且对于javascript和css也是如此,越熟悉越好
3 对于数据库和服务器的配置,这不应该是你需要花很多精力的地方,因为这是运维人员的工作,如果某个公司对这个有要求,那他们估计就没有运维人员,这些东西很繁琐,而且需要实践,所以建议不要花太多的实践在这上面,了解就可以
4 对于设计模式也是了解为主,你可能会用到设计模式的地方很少,而且如果你真正对编程有感觉了,一段时间的实践之后你自然知道怎么用,哪些总是喜欢把设计模式、编程思想挂在嘴边的基本都是没毕业的
5 如果可以的话,我建议使用linux系统,学习Vim,并且学习apache,php,mysql的编译,不过如果你坚持用linux系统的话,那你肯定会试着自己编译这些东西的
6 多看php手册,学好英文,有什么问题首先看手册
7 学习敏捷开发,学习使用PHPUnit、SimpleTest这些工具写单元测试,并且在实际的项目中使用
8 如果要深入点的话,学习PHP扩展的开发,也许你可能不会开发扩展,但如果你了解了如果开发一个扩展,你就会知道PHP并不是想很多说的那么简单
9 学习并使用PHP的框架,如果你用了某个框架1-2年,那就试着去看下它的源代码,并试着理解那些代码,如果可以的话试着自己开发一个框架
10 所有程序语言都说用来解决具体的问题的,语言很重要,学好用好一门语言并不是一天两天的事,不要相信哪些给你兜售编程思想的人,思想是在实践中积累的,而不是看了书学了别人的思想就会了,然后就什么都可以写了
11 学习算法,锻炼思维
答案由问 问 我发布
❹ 一名PHP工程师合格的知识结构是什么样的
看工作量了 如果你要开发一个discuz估计要很久 如果是小型的cms应该要不了多久
❺ php项目的目录结构是按模块划分,还是按功能划分
恩,一般是先模块,然后功能,如果模块与模块之间功能有交叉,最好写一些公共接口,全站可以调用,
对于php的项目,一般站点都是MVC接口,数据模型,控制器和视图分开,可以学习一下yii框架结构
❻ 一名合格的PHP工程师的知识结构是怎样的
1.设计思想:编程语言没有好坏之分,重要的是你的思想 (小孩和成人手里拿笔画出的东西肯定不同,对画出的画解释也不同)。思想的知识构成:
1> 数据结构、设计模式等( 其实每种数据结构和设计模式就是种设计思想 )
2>《java编程思想》,也可以对比一下yii、ci、zend框架各自的优点和缺点,吸取设计思想
3> 每种设计思想里面操作的对象可能是一种数据结构、memcache的key、数据库db/table/field、div、ip、idc等等
2.筛选工具:带着思想去筛选工具。
1>你需要php提供一个函数去检测单态模式,就需要自己学习c写个扩展。
2>你需要用php查询数据库就学习mysql和pdo相关。
3>你需要在页面调试php又觉得输出出来的数据格式不好看,就去学习html+css+div
4>memcache、nginx、apache同理。
❼ 一名合格的PHP高级工程师的知识结构是怎样的
1.掌握语言本身的语法,熟悉常用类库是必须的;
2.面向对象最为当今的主流也是必须掌握的;
3.常用设计模式必须掌握,设计模式是前辈的总结、经验;
4.php常与数据库配合使用,而且首先为mysql,所以mysql必须熟悉;
5.php是做为一种web开发语言而流行的,所以浏览器中的javascript必须会,虽然现在很多公司有专业的javascript工程师,但是php程序员js也是必须掌握的;
6.html/css必须会,不要求你会切会div+css,但是至少要知道,因为php是一种嵌入html中使用的语言(当然php也可以用于桌面等其他,但是和web(html)结合才是它流行的原因);
7.linux不需要会,会的话肯定更好,一般公司都有专门服务器管理人员的。但是你要会在vi下进行编程,这时候就不像在ide下那么好了,你应该尽量熟悉类库。
❽ php除了mvc还有什么架构
1. Yii
Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。
3. CakePHP
CakePHP是一个快速开发PHP的框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有牺牲项目的弹性。
4. PHPDevShell
PHPDevShell是一个开源(GNU/LGPL)的快速应用开发框架,用于开发不含Javascript的纯PHP。它有一个完整的GUI管理员后台界面。其主要目标在于开发插件一类的基于管理的应用,其中速度、安全、稳定性及弹性是最优先考虑的重点。其设计形成了一个简单的学习曲线,PHP开发者无需学习复杂的新术语。PHPDevShell的到来满足了开发者们对于一个轻量级但是功能完善,可以无限制的进行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一个基于MVC设计模式的web应用开发平台。基于良好的使用习惯,使用它可以完成如下任务:
◆方便的使用Ajax编写views
◆通过控制器管理请求(request)及响应(response)
◆管理国际化的应用
◆使用简单的协议与模型及数据库通信
你的Akelos应用可以在大多数共享主机服务供应方上运行,因为Akelos对服务器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于发布单独web应用的框架,因为它不需要非标准PHP配置便能运行。
6. Symfony
Symfony是一个用于开发PHP5项目的web应用框架。
这个框架的目的在于加速web应用的开发以及维护,减少重复的编码工作。
Symfony的系统需求不高,可以被轻易的安装在任意设置上:你只需一个Unix或Windows,搭配一个安装了PHP5的网络服务器即可。它与差不多所有的数据库兼容。Symfony的价位不高,相比主机上的花销要低得多。
对于PHP开发者而言,使用Symfony是一件很自然的事,其学习曲线只有短短一天。干净的设计以及代码可读性将缩短开发时间。开发者可以将敏捷开发的原理(如DRY,KISS或XP等)应用在其中,将重点放在应用逻辑层面上,而不用花费大量时间在编写没完没了的XML配置文件上。
Symfony旨在建立企业级的完善应用程序。也就是说,你拥有整个设置的控制权:从路径结构到外部库,几乎一切都可以自定义。为了符合企业的开发条例,Symfony还绑定了一些额外的工具,以便于项目的测试,调试以及归档。
7. Prado
PRADO团队由一些PRADO狂热者组成,这些成员开发并推动PRADO框架以及相关项目的进行。
PRADO的灵感起源于Apache Tapestry。从04年开始,PRADO成为SourceForge上的开源项目之一。这个项目目前进展到了3.x版本。
8. Zend
作为PHP艺术及精神的延伸,Zend框架的基础在于简单,面向对象的最佳方法,方便企业的许可协议,以及经过反复测试的快速代码库。Zend框架旨在建造更安全,更可靠的Web 2.0应用及web服务,并不断从前沿厂商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那里吸收精华。
9. ZooP
Zoop PHP框架,意为Zoop面向对象的PHP框架。
这是个稳定,可伸缩并可移植的框架。从诞生到现在的5年间,已经在不少产品开发中被使用。Zoop是一个快速,有效并干净的框架。它的伸缩性很好,你可以只安装你需要的功能。
对代码并不很熟悉的开发者也可以通过Zoop快速的开发安全的web应用。熟练的开发者则可以更加将Zoop的弹性利用到极致。
Zoop建议将display,logic以及数据层(MVC)分开使用。
Zoop由很多组件和项目集合而成,其中包括smarty和prototype AJAX框架,PEAR模块等。高效的核心组件提供了很多你原本需要自己编码来实现的功能。Zoop内置的纠错功能可以通过配置实现生产环境下的错误日志生成,这个错误日志提供了很多信息,可读性很高,可以更轻易的寻找并排除错误。
Zoop的一个特别之处在于其GuiControls,在PHP中是一个相当革新的想法。它提供了很多form widgets与验证完整的集合到一起,并形成了一个可以轻松打造个性化GuiControls的框架。
10. QPHP
QPHP,意为快速PHP,它是一个与ASP.NET类似的MVC框架。基本上它是这样一个情况:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意义含糊的语言
◆大量基于OOP的概念
❾ php开发需要框架吗
php中也存在框架,如国内比较常用的thinkphp、brophp。国外的Laravel。但使用其也用利弊,分析如下:
框架是非常好的,它能让决定更连贯。框架能避免我们写一大堆自定义模块来实现这些性能,我们所需要做的就是将这些共用模块放在框架中实现。框架节省了我们不少的时间和精力,并且让扩展变得更容易。但是这也是问题的根本所在。
对锤子来说,所有事物都是钉子
Abraham Kaplan说过的一句话能最好地控诉工具的缺点:把锤子给一个小孩,他会用锤子槌遇到的所有事物
这就是衡量你是否更职业的时候了,交付对未来扩展最好的代码而不是交付最容易实现的代码。是为了以后的需求更好的设计你的代码还是让以后的人做需求的时候再考虑,这就是程序员的责任感问题了。作为一个更职业的开发者,我们必须不依赖框架独立思考。
这就是你的错
是不是经常听到某人在抱怨某个框架?我已经听见好多人抱怨过Rails了:“Rails应用总是糟糕的结构”或者“Rails测试总是这么慢”。最开始,我也曾经这么认为。但是现在,每当我听到这些抱怨的时候,我就会意识到其实抱怨者是懒惰的。Rails,或者其他框架,只是一个工具而已,你要做的是控制它。把坏代码归咎于无生命的框架只能说明你的不专业。
选择正确的工具,或者正确地使用工具
决定变得更专业
我们必须根据基本的需求来选择工具。框架确实能做很多事情,并且需求会决定整个代码结构。有的时候框架会很适合某个需求。但是当框架不适合某些需求的时候,你就有责任为了代码的清晰和干净修改框架或者封装框架。
作者Myles Megyesi正文结束读后感文章中提到框架只是一个工具,你不能用这个工具来满足你的所有需求,当框架无法清晰完整地满足你的需求的时候,你要做的不是写一大堆垃圾麻烦的代码来实现需求,更不是修改你的需求来满足更容易实现这件事。作为更专业的你,你需要修改框架,或者使用抽象等思维来使你的代码达到清晰干净。
这点在实际开发中会遇到非常多。当别人问你:这里的代码为什么这么写? 如果你的回答是:没办法啊,因为框架是这么这么做的,我只能这么这么做。这就说明了你已经被框架束缚住了。不要认为框架是权威,框架也是别人写的,它写的时候不会考虑到你的需求。只要你的需求是团队的公共需求,需要修改,增加框架的时候,你就应该修改框架。
代码是让人更清晰自然的阅读和开发的,如果被一个框架捆绑住,实际上就是本末倒置了。
❿ php工程师 需要具备哪些技术
作为一名PHP工程师,你不仅需要精通PHP开发,数据库设计建模,服务器架构,还需要熟悉各种系统结构,如文章系统、图片系统、人力资源管理系统、楼市系统、电子商务系统、广告公告系统、流量统计系统、企业自动建站系统、留言问答系统、BBS、博客等,最重要的工程要有一定的项目实战经验。 1、熟练使用PHP+MYSQL编程,熟悉HTML , Div, CSS, JavaScript, Smarty模板技术;常用设计模式必须掌握,设计模式是前辈的总结、经验; 2、、熟悉主流PHP框架,熟悉网站开发的流程; 3、有良好的编程习惯,良好的沟通能力,具有较强的分析、解决问题能力;能自主完成模块开发; 4、html/css必须会,不要求你会切会div+css,但是至少要知道,因为php是一种嵌入html中使用的语言; 5、熟悉Linux 开发环境;linux不需要会,会的话肯定更好,一般公司都有专门服务器管理人员的。
像我们诺博源毕业的PHP学员各方面的能力都非常的优秀 ,所以一毕业就能找到合适的好企业上班