首页 > 后端开发 > 正文

php框架零基础入门 新手应该如何学习PHP语言?

2023-08-25 07:53:53 | 我爱编程网

php框架零基础入门 新手应该如何学习PHP语言?很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

php框架零基础入门 新手应该如何学习PHP语言?

PHP中的各种框架

CodeIgniter、CakePHP、ZendFramework、Symfony这几个是国外的,你可以参考下
CodeIgniter
优点:
1. 配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能
2. 快速简洁,代码不多,执行性能高,框架简单,容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用
缺点:
1. 把Model层简单的理解为数据库操作
2. 框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要
评价:
总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的 library 也还不错,简洁高效。
CakePHP
优点:
1. CakePHP是最类似于RoR的框架,包括设计方式,数据库操作的Active Record方式;设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错;数据库层的 hasOne, hasMany 功能很强大,对于复杂业务处理比较合适;路由功能,配置功能还不错;自动构建脚手架(scaffold)很强大;适合中型应用;基本实现过了MVC每一层;具有自动操作命令行脚本功能;
2. 文档比较全,在国内推广的比较成功,大部分都知道CakePHP,学习成本中等
缺点:
1. CakePHP非常严重的问题是把Model理解为数据库层操作,严重影响了除了数据库之外的操作能力
2. CakePHP的cache功能略显薄弱,配置功能稍嫌弱;CakePHP不适合大型应用,只适合中型应用,小型应用来说略微的学习成本高了点
评价:
总体来说CakePHP框架代表了PHP框架很重要的一个时代和代表,并且目前发挥着很重要的作用,不少自己写的框架都模仿了CakePHP的方式,是个里程碑式的产品;CakePHP透露着RoR的敏捷开发方式和把数据库操作认为是唯一Model的设计思想,作为开发快速应用和原型是绝好的工具;同样,用来做Web2.0网站的开发框架,也是值得选择的。
【 Zend Framework 】
优点:
1. 官方出品,自带了非常多的 library,框架本身使用了很多设计模式来编写,架构上很优雅,执行效率中等;MVC设计中,比较简洁,具有路由功能,配置文件比较强大(能够处理 XML和php INI),各种 library 很强大,是所有PHP框架中各种功能最全面的,包括它不仅是一个框架,更是一个大类库(取代PEAR),这是它的主要特色;能够直观的支持除数据库操作之外的Model层(比 CodeIgniter 和 CakePHP 强),并且能够很轻易的使用Loader功能加载其他新增加的Class;Cache功能很强大,从前端Cache到后端Cache都支持,后端 Cache支持Memcache、APC、SQLite、文件等等方式;数据库操作功能很强大,支持各种驱动(适配器)
2. 文档很全,在国内社区很成熟,并且目前不少Web 2.0网站在使用,学习成本中等
缺点:
1. MVC功能完成比较弱,View层简单实现(跟没实现一样),无法很强大的控制前端页面
2. 没有自动化脚本,创建一个应用,包括入口文件,全部必须自己手工构建,入门成本高
3. Zend Framework 作为一个中型应用框架问题不大,也能够勉强作为大型应用的框架,但是作为一个很成熟的大型PHP框架来说,还需要一些努力
评价:
作为官方出品的框架,Zend Framework的野心是可以预见的,想把其他框架挤走,同时封装很多强大的类库,能够提供一站式的框架服务,并且他们的开发团队很强大,完全足够有能力开发很强大的产品出来,所以基本可以确定的是Zend Framework前途无量,如果花费更多的时间去完善框架。同样的,Zend Framework架构本身也是比较优雅的,说明Zend官方是有很多高手的,设计理念上比较先进,虽然有一些功能实现的不够完善,比如View层,自动化脚本等等,这些都有赖于未来的升级。总体来说Zend Framework是最值得期待的框架,当然,你目前要投入你的项目中使用也是完全没问题的。
【 Symfony 】
优点:
1. Symfony 是我了解的PHP框架中功能最强大的,而且我使用时间比较长,但是很多功能还是没有挖掘出来;它完整实现了MVC三层,封装了所有东西,包括 $_POST,$_GET 数据,异常处理,调试功能,数据检测;包含强大的缓存功能,自动加载Class(这个功能很爽),强大的i18n国家化支持;具有很强大的view层操作,能够零碎的包含单个多个文件;非常强大的配置功能,使用yml配置能够控制所有框架和程序运行行为,强大到让人无语;能够很随意的定义各种自己的 class,并且symfony能够自动加载(auto load)这些class,能够在程序中随意调用;包含强大的多层级项目和应用管理:Project --> Application --> Module --> Action,能够满足一个项目下多个应用的需要,并且每层可以定义自己的类库,配置文件,layout;非常强大的命令行操作功能,包括建立项目、建立应用、建立模块、刷新缓存等等;
2. Symfony绝对是开发大型复杂项目的首选,因为使用了Symfony,将大大节约开发成本,并且多人协作的时候,不会出现问题,在Project级别定义好基础Class以后,任何模块都能够重用,大大复用代码
缺点:
1. 数据库操作model采用了重量级的propel和creole,不过在我测试的版本中已经把他们移到了addon里,可用可不用
2. 缓存功能无法控制,每次开发调试总是缓存,需要执行 symfony cc, symfony rc 来清除和重建缓存;
3. 效率不是很高,特别是解析模板和读取配置文件的过程,花费时间不少;
4. 学习成本很高,并且国内没有成熟的社区和文档,连中文手册都没有,相应的要掌握所有功能,需要花费比较多的时间
评价:
Symfony绝对是企业级的框架,唯一能够貌似能够跟Java领域哪些强悍框架抗衡的东西;强悍的东西,自然学习复杂,但是相应的对项目开发也比较有帮助,自然是推荐复杂的项目使用Symfony来处理,觉得是值得,后期的维护成本比较低,复用性很强。相应的如果使用Symfony的应该都是比较复杂的互联网项目,那么相应的就要考虑关于数据库分布的问题,那么就需要抛弃Symfony自带的数据库操作层,需要自己定义,当然了,Symfony支持随意的构造model层。
【 总评 】
以上数款框架,各有特色,而且都是开源项目,不过框架针对的项目不一样,一般来说 CodeIngiter 比较适合小型项目,CakePHP 和 Zend Framework 比较适合中型项目,Symfony 比较适合大型重量级项目,在项目选型的时候,要充分考虑框架的可以定制性、扩展性,因为每个项目都无法确定你是否会随着需求的变化进行改变。
相对来说,Zend Framework 和 Symfony 应对变化的能力比较强,特别是能够随意定制 model 层的Class,能够非常方便增加自己业务或者数据处理类,我是个人比较推荐在中大型项目中使用的框架。CodeIngiter 和 CakePHP 在中小型项目中同样能够发挥重大作用,快速开发和原型构建,非常适合目标不清晰的原型项目的开发。了解一个框架最好的方式就是使用它,学习它最好的方式就是看视频。
仁者见仁,智者见智,在项目挑选框架的时候,请先认真考察项目的需求和未来的变化,然后选择合适的框架,让项目开发速度和后期维护性得到一个合理的平衡,当然了,也许,自己写一个框架更适合。

php框架零基础入门 新手应该如何学习PHP语言?

新手应该如何学习PHP语言?

php是一种通用开源脚本语言,PHP独特的语法吸收了C语言.Java.Perl以及php自创的语法特点.PHP语言学习的门槛不高,即使是零基础的同学,只要勤于动手实践,也能由入门到精通.如果你是php语言的初学者,不妨和北京北大青鸟小编了解一下Php是干什么用的,以及学习php从哪些方面入手.学PHP就到北京北大青鸟值得信赖.

零基础到精通,新手应该如何学习PHP语言?

Php的用途是什么?

对于一个php门外汉来说,对php语言存在着较浅的认识,他会觉得php语言就是做网站的.但是,更确切地说,php语言是网站后端开发以及后端处理的.因为这是一项技能,所以在学习php语言之前,大有必要搞清楚它是做什么的,这一点非常重要!

php学习的框架

下面北京北大青鸟小编对学习PHP的过程做一下概括:

(1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页.

(2)理解动态语言的概念,运做机制,熟悉PHP语法.

(3)学习如何将PHP与HTML结合起来完成简单动态页面.

(4)接触MYSQL,设计数据库程序.

(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,模板.

(6)建立一个功能齐全的动态站点.

这整个的学习过程是循序渐进的过程,就拿html来说,只有当你先学会了制作网页,才能为之后建立网站打下基础.

学习php语言会遇到的问题

对于一个零基础的php初学者来说,学习过程难免会碰到各种各样的问题,北京北大青鸟小编在此特别做出说明.

就以html学习为例,在学习过程比较常见的问题就是,看了手册中的各种概念,但是回想起来概念相当模糊和零碎.然而,php语言的学习并非知识型的,而是技能型的.所以,对于手册里每一个标签,每一个属性都敲了一遍,看看它们的效果和反应,这样对概念的认识显然会更深刻一些.像html和css的任何元素标记,这些都要亲自动手.

另外,在自学的过程中,一个人的视野是有限的,因而仍然需要找些教程视频来看.观看这些视频,你可以发现自己学习当中的遗漏和未曾注意的细节问题.像学习html的一样,一定要克服惰性,最好建立一个文本,专门用于记录不懂的一些问题,这样有利于你继续前进.

搞点项目开发

编程在刚接触有会有些新鲜感,但是接下来就是一些乏味感,因而需要寻找一些刺激.搞点项目开发,当你发现编程可以解决生活实际问题,将获得满满的成就感,这也你继续学习的动力源泉之一.当你学会HTML的时候,就可以编好几个大表格排板的网页;当你学会PHP,就可以把一加一的运算写在函数里,然后调用啦.当然,最好做一个留言板,和helloworldPK一下!

php框架零基础入门 新手应该如何学习PHP语言?

零基础的初学者应如何学习?

网站开发开发大致分为前端和后端,前端主要负责实现视觉和交互效果,以及与服务器通信,完成业务逻辑。其核心价值在于对用户体验的追求。可以按如下思路学习系统学习:

基础知识:

1. html + css 这部分建议在 w3school 在线教程 上学习,边学边练,每章后还有小测试。 之后可以模仿一些网站做些页面。

2. javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在 w3school上学习。之后建议马上看《javascript语言精粹》,js是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。

对于习惯看视频学习的同学,以上内容也可以在 慕课网-国内最大的IT技能学习平台 上学习。虽然我没用过,但好几位同学推荐过了,大概看了下,内容还不错。

进阶:

有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。

1. css。截至今日(2015.12.08),天猫、淘宝、支付宝都已停止对ie6,7的支持,未来相信大多数网站都会停止对ie6,7的支持,ie8的市场份额也不像两年前那么高了(天猫即将停止对IE8的支持,2016.12.13),webkit内核已成为市场主流。对于css的学习,我推荐分三块:“基础概念”,“css2.1规范”,“css3规范”。必看 精通CSS(第2版) (豆瓣),看完这本书你应该对:盒子模型,流动,block,inline,层叠,样式优先级,等概念非常了解了。这本确实有些年头了,但基础概念部分讲述非常清晰,可以称之为经典。ie6,7相关的内容可以不看。css3的部分可以参考:CSS3实用指南 (豆瓣)。这本书同样有些老,只是最新出版的书中没发现有特别好的。

2. javascript。上面提到内容还不足以让你胜任js编程。在有了基础之后,进一步学习内容包括:

a) 框架。推荐 zepto,简单易用,在w3school简单学习js后,直接上手 zepto 即可完成一些简单的项目。zepto 源码简单清晰,也适合新手阅读。补充: 可以使用 codecademy 学习 javascript,zepto,用户体验真的很好(感谢 TonyOuyang )。最近比较热门的框架是React, VUE, Angular这些, 根据需要稍作了解即可。随着ie浏览器市场份额的下降,以及移动端的发展,标准原生js已经可以在实际项目中使用(目前还需要借助es5shim、babel等),重点还是ES5, ES6, ES7。

b) javascript 语言范式 。这个名字可能并不恰当,只是我找不到可以描述“面向对象”,“函数式”这个两个概念的概念。javascript不完全是一个面向对象的语言,它的很多设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。javascript的很多语言特性,都是因为他具有函数式语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维基百科,百度百科会是你的帮手,另外推荐《object oriented javascript》,应该有中文版。对与函数式编程可以参考这篇文章:JavaScript 中的函数式编程实践

c) javascript 语言内部机制。必须弄清如下概念:js中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方法,apply,call),以及四种调用方式下,‘this'指向的是谁。这部分内容你会在《javascript语言精粹》中详细了解。

d) dom编程,这个web前端工程师的核心技能之一。必读《dom编程艺术》,另外《高性能javascript》这本书中关于dom编程的部分讲的也很好。

e) ajax编程,这是另一核心技术。ajax建议在网上查些资料,了解这个概念的来龙去脉,百度百科,维基百科上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对ajax有良好的封装,编程并不复杂。另外,ajax未来几年会被 Fetch Standard 取代,也需要了解。另外关于xhr2,cors(跨站资源共享),formData文件上传,也需要了解。

f) es5, es6。现在开发js大部分基于es5的,ie8以下通过es5-shim。但利用一些工具,现在已经可以直接写es6代码了,尤其在reactjs,nodejs类型的项目中。对于从es5,es6每个阶段js发生了哪些变化都需要系统学习,学习顺序建议是 JavaScript基础 -> es5 -> es6,越靠前的越重要。一些参考链接:ECMAScript 5 compatibility tableECMAScript 6入门ES5 «  张鑫旭

3. html5。需要了解html都提供了哪些api,然后项目中用起来。这部分没有什么难理解的,关键在于能用html5解决业务问题,以及不支持html5的浏览器的降级方案。这部分体现了前端的一个思想:面向未来编程,尽早将新技术引入业务中来,而不是过分考虑兼容性问题,进而导致面向过去编程。

再进一阶代码层面:

有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1易维护,2可测试,3高性能,4低流量(移动端)。 我爱编程网

1. 易维护。对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的当然就是css,html,js。对于js代码,你最好了解设计模式,重构,MVC等内容。

2. 可测性。就是保证你的代码能沟通单元测试100%覆盖到所有分支

3. 高性能。必读《高性能javascript》

4. 低流量。移动端关注比较多,PC端现在可以不用太关注了

再进一阶 · 工程层面:

前端项目同样面临软件生命周期的各个环节,首先是代码管理,你必须学会使用svn和git。其次是代码的构建,如今前端代码构建已经不是简单的压缩一下了,需要进行依赖管理、模块合并、各种编译,必须要学会使用grunt、gulp、webpack、rollup等前端构建工具,以及前端模块管理的方式,amd,cmd,es6 module 等等。

然后呢?

以上内容只是简单说了前端学习的顺序。前端工程师应该有的知识结构请参考这里:JacksonTian/fks · GitHub

对于前段开发,基本内容就这些了,可以根据自己的兴趣爱好选择性学习以下内容。

1. 交互设计。大公司依然有专业人士搞这些,不过不懂交互的前端一定不是好前端。推荐《简约至上》。

2. 后端。应该说前段工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,入手难度比较低的应该是php了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的,建议至少了解一个MVC框架,比如php的ci, yii, yaf 等,好还框架的设计思想都大同小异。如今NodeJs在大公司已经得到普遍的使用,推荐大家使用在Node上使用Koa框架做一些后端服务的开发。

3. Android和ios开发。时至今日,前端的工作领域已经非常广泛,native的界面开发本质上也是前端开发,个大公司都面临着Native环境和web环境页面同时维护的问题,如果能够在技术上得到统一,将会有巨大的价值。对于学有余力的同学,应该了解Native开发的基本流程,至少了解到界面构建的技术。

4. 如果你能够认真看到这里,说明你对前端有真爱,最后说一个编程习惯的问题,绝对是保你工作平安,少出故障。代码提交前必须做的三个事情:A. git diff(svn diff),检查所有变更;B. 跑一边单元测试;C. 手动运行一遍所有demo.

以上就是我爱编程网为大家带来的php框架零基础入门 新手应该如何学习PHP语言?,希望能帮助到大家!
与“php框架零基础入门 新手应该如何学习PHP语言?”相关推荐
php框架新手 新手应该如何学习PHP语言?
php框架新手 新手应该如何学习PHP语言?

新手应该如何学习PHP语言?php是一种通用开源脚本语言,PHP独特的语法吸收了C语言.Java.Perl以及php自创的语法特点.PHP语言学习的门槛不高,即使是零基础的同学,只要勤于动手实践,也能由入门到精通.如果你是php语言的初学者,不妨和回龙观北大青鸟小编了解一下Php是干什么用的,以及学习php从哪些方面入手.学PHP就到回龙观北大青鸟值得信赖.零基础到精通,新手应该如何

2023-09-02 02:43:20
php框架初学 新手应该如何学习PHP语言?
php框架初学 新手应该如何学习PHP语言?

php需要学习哪些框架PHP需要学习哪些框架呢?让我们一起了解一下!PHP需要学习的框架有很多,下面为您例举几种常用的框架:国内框架:ThinkPHP、Canphp、KYPHP、InitPHP、SpeedPHP、CdvPHP等。国外框架:ZendFramework、Codelgniter、CakePHP、Symfony、Yii、Seagull、Laravel等。拓展:什么

2023-08-31 19:10:19
php框架该怎么学 新手应该如何学习PHP语言?
php框架该怎么学 新手应该如何学习PHP语言?

新手应该如何学习PHP语言?php是一种通用开源脚本语言,PHP独特的语法吸收了C语言.Java.Perl以及php自创的语法特点.PHP语言学习的门槛不高,即使是零基础的同学,只要勤于动手实践,也能由入门到精通.如果你是php语言的初学者,不妨和回龙观北大青鸟小编了解一下Php是干什么用的,以及学习php从哪些方面入手.学PHP就到回龙观北大青鸟值得信赖.零基础到精通,新手应该如何

2023-09-20 22:12:25
如何快速学php框架 新手应该如何学习PHP语言?
如何快速学php框架 新手应该如何学习PHP语言?

新手应该如何学习PHP语言?php是一种通用开源脚本语言,PHP独特的语法吸收了C语言.Java.Perl以及php自创的语法特点.PHP语言学习的门槛不高,即使是零基础的同学,只要勤于动手实践,也能由入门到精通.如果你是php语言的初学者,不妨和北京北大青鸟小编了解一下Php是干什么用的,以及学习php从哪些方面入手.学PHP就到北京北大青鸟值得信赖.零基础到精通,新手应该如何学习

2023-09-19 08:49:08
如何熟悉一个php框架 新手应该如何学习PHP语言?
如何熟悉一个php框架 新手应该如何学习PHP语言?

新手应该如何学习PHP语言?php是一种通用开源脚本语言,PHP独特的语法吸收了C语言.Java.Perl以及php自创的语法特点.PHP语言学习的门槛不高,即使是零基础的同学,只要勤于动手实践,也能由入门到精通.如果你是php语言的初学者,不妨和回龙观北大青鸟小编了解一下Php是干什么用的,以及学习php从哪些方面入手.学PHP就到回龙观北大青鸟值得信赖.零基础到精通,新手应该如何

2023-10-03 01:13:56
php框架有自己的语法 新手应该如何学习PHP语言?
php框架有自己的语法 新手应该如何学习PHP语言?

php要学哪些PHP需要掌握的知识还是比较多的,最基本的比如:PHP基本的语法、php框架以及CMS、mysql数据库设计表、mysql数据库的基本SQL语句。现在一般PHP的都得会前端,那就包括:js/ajax、html、css。如果更高点层次的就是linux服务器。下面参考雷雪松的个人博客学习PHP的路线和一些方法。1、用集成环境安装PHP环境,一定要记住这一点,不要自己分开去装

2023-09-29 12:55:14
怎么快速学会php框架 新手应该如何学习PHP语言?
怎么快速学会php框架 新手应该如何学习PHP语言?

PHP新手该如何学习使用开发框架,有案例吗?关于PHP新手该如何学习使用开发框架,有案例吗,我有下面的观点。步骤1:PHP基础知识。如果你想在Web开发中建立一个未来,习得任何语言都需要一个坚实的语法基础,而HTML和CSS是基本技能。在PHP中:知识:容易掌握PHP的基本知识,了解PHP变量、变量类型、常量,如概念、PHP操作符理解和掌握PHP序列结构、结构条件、三种

2023-09-22 03:00:38
web前端开发应该如何入门 零基础如何学web前端开发?
web前端开发应该如何入门 零基础如何学web前端开发?

web前端入门需要学习那些知识?首先要学习的知识是A静态页面布局:H5+CSS3BJS交互设计CNode开发D前端框架(Vue/React/Angular)E小程序与App,以上都是前端工程师需要必须掌握的知识内容。那么如果你只是想从入门学习的话呢,应该是先要掌握H5+CSS3如今学习web前端的人越来越多,作为一个初入行的新手,一定要想清楚为什么要学习web前端,出于一种什么

2023-09-28 03:26:59