⑴ 为什么说php是首选的Web开发语言
作者:2gua
链接:https://zhuanlan.hu.com/p/19904737
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. PHP是为Web而生的,天然与HTML、JavaScript有亲近感,也就是原生味儿十足。即使是PHP与HTML代码混杂,从某种角度而言,也能帮助初学者直观地了解Web技术机理,坏事有时候也是好事。另一方面,开源PHP的C风格、Unix/linux范儿让其在Apache、Nginx等Web应用服务器上表现优异。总之,PHP与Web是浑然天成的结合方式。
2. 要掌握PHP,我建议从备受诟病的“代码凌乱”编程风格 -- 或许是从PHP与HTML混合编程开始,待直观了解Web开发技术之后,再考虑代码组织和结构的重构,这样有助于自己以更加原生的方式掌握Web的秘密。那么,什么是更加原生的方式呢?随手举个例子:典型的404状态码。
用PHP的实现(404.php、404.html):
<?php
header("HTTP/1.1 404 Not Found");
include("404.html");
exit;
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
</head>
<body>
<p>404页面。</p>
</body>
</html>
再看看如http://ASP.NET MVC中的实现:
public ActionResult Details(int id)
{
return HttpNotFound();
}
虽然封装得很好,但是,跟PHP方式比较就知道,http://ASP.NET MVC中的实现确实比较抽象不够直观,而且是在控制器里直接定义和跳转的。在PHP中,显而易见,一下就明白了代码中header的含义:HTTP-Version、Status-Code、Reason-Phrase。
顺带说说Rails中的处理方式,抽象程度也很高:
render :template => '......', :status => 404
3. 与PHP类似的还有JSP,但JSP往往需要与JEE其他技术模块相配合使用,体系足够庞大,需要有长期准备。其他如http://ASP.NET MVC、Rails等框架的抽象度较高,也不建议作为首选。
4. 不得不提Node.js,Node.js是目前很火的技术,号称“全栈”的希望所在,常拿来跟PHP争论比较:什么并发、线程、进程等等。在这里无意评论孰优孰劣,但至少PHP可以让你多掌握一门技术,而不止是JavaScript。此外,PHP的大型业务的成熟应用案例可是比比皆是吖。
5. 那么,是不是该一直坚持指哪打哪的“代码凌乱”方式呢?当然不应该。PHP提供的OOP特性足够强大,在技能与理解程度达到一定高度时,完全可以以OOP的方式来组织代码。在PHP领域,各种框架非常多,比如Laravel、CI、FuelPHP、Yii、Symfony、Zend Framework等等,届时随便选一个都可以进行规范化开发。“代码凌乱”关键不在于工具本身,而在于人自己!要知道用Java也能写出烂代码。
6. PHP的资料非常丰富。
7. 最后,有一个稍稍题外话的看法,早前我还觉得在RESTful方式不断普及下,由于RESTful Web Services使用标准的 HTTP 方法(GET/PUT/POST/DELETE)来抽象Web服务能力,服务端的重点将移至MC,而服务端视图模版的应用会减少,客户端的支撑需求会越来越多。比如各种前端库、框架将得到快速推进,越来越多的需求处理会前置到前端来处理。但现在我感觉这种状态考虑得太过理想了,就像数据频繁大量更迭及处理的场景,更适合服务端(如模版引擎)完成;再具体地,又如大数据量的分页,如果都在浏览器中实现,性能就一定会有很大问题。此外,频繁Ajax调用、客户端缓存机制的缺失,也将引起种种问题,再进一步来看,单页面应用(SPA)也就并非适合每一个业务场景,服务端视图模版还是有比较多的适用领域的。
⑵ php都是学什么内容啊想学php有必要报php培训班吗
首先,必须会一部分前端
需要了解的知识包括HTML、CSS、JavaScript,不需要深入地学习,有个概念性的理解即可。至于可以推荐的书籍还真没有没有,因为这一部分主要是练习,熟能生巧。如果是没有任何基础的,需要带领入门的话,可以去视频网站搜索相关课程视频,网上很多。
其次,关于知识学习有三个阶段
1. PHP入门段
可以在网上找到各类PHP热门视频,基本上这些视频里面都会讲到如何使用编辑,配置环境等一系列基础教程。能撸出一个个人站点/ 企业小站 就可以进入下一步了这样可以先对编程有一个初步的认识,如果没有任何电脑基础不推荐直接看书。
2. 进步段
这时候需要PHP手册了,了解常用函数。学习MySQL( 数据库 ),了解PHP各大框架 --thinkPHP,Yii,Laravel等, 然后选一款框架尝试搭建一blog,实现常规登录、注册、文章发布和修改。
3. 提高段
这一阶段的知识点主要包括:了解Linux ,在Linux下搭建 PHP环境(这时候要脱离 xamp,wamp等之流了);知道&&使用版本控制:git svn;
详细的了解之后需要的就是不断地去补充这些自己不懂的东西,多学,多问,多练,如果喜欢编程,想成为一名PHP程序员,想看PHP视频教程的话推荐扣丁学堂的,最重要的就是尽快入手,不要拖。
⑶ web前端和php哪个好
看自己喜欢,看你是喜欢展现层还是业务逻辑层。前端偏交互设计、UI展现,当然 Node.js也可以用于后端交互,PHP主要是后端程序语言,主要负责数据业务逻辑处理,主要跟数据库打交道比较多。
如果比较喜欢设计,交互和各种体验效果的可以考虑前端,如果喜欢算法、数据处理、业务分析的可以选择php。不过现在前端对业务数据的处理也很有要求。
从工作角度来说,最近这几年伴随着交互体验的升级,前端也相当吃香,不过这两种只是工具,要有发展,肯定是要花很多精力去学习更多的知识。
作者:麦哲乐
链接:https://www.hu.com/question/30916933/answer/49949745
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
⑷ php掌握什么 知乎
PHP需要掌握的知识还是比较多的,最基本的比如:PHP基本的语法、php框架以及CMS、mysql数据库设计表、mysql数据库的基本SQL语句。现在一般PHP的都得会前端,那就包括:js/ajax、html、css。如果更高点层次的就是linux服务器。
1、用集成环境安装PHP环境,一定要记住这一点,不要自己分开去装,尤其是自学的朋友。不然你会觉得很复杂,会没有信心学下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的阶段历练才有最后的沉淀。
2、先了解一些基本的变量类型,语法,函数,基本逻辑,写简单的代码。前期以尝试,培养兴趣为主。这段时间是打基础很好的时候,这个会影响你后面的发展,不过也可以在后期去完善。
3、这时候你可能觉得PHP就这样,没什么难度,或者有的觉得太难了,简直一脸疑惑。这个到底有什么用。在这时候一定要坚持下来,可以试试先放一下,别太较真。慢慢的困惑你的会被你领悟的。这时,建议学习html+css+js,缓解自己的压力,这个相对简单,简历信心。尤其是js,总结其实有相同的思路,可以结合着一起体会。
4、这些都感觉有80%了解就可以先放放了,现在在学习MySQL,也是先了解基础的。这个是干什么的,我可以用它做什么。因为之前装的集成环境。为什么感觉是凌乱的,我想告诉你的是,一是不要在自己没能力解决问题的时候死磕,浪费时间,丧失信心。这时候我们要做的是学习壮大自己,不要灰心。二是我本来觉得这一切都了解才是完整的。我们的目标也是要把这些都做好,这才是一个合格的PHP程序员。
5、这一切都顺利的话,你基本离预设的目标不远了,完成了整个学习的70%了。后面的是在之前的基础上升华。把HTML和css、js结合、静态文件和PHP结合、PHP和MySQL结合。这个阶段可能越到的问题会异常的多,一定要学会解决问题。网上很多都是答案,同样你要学会问问题。
6、这些之后你基本已经快到学习的尾声了,但还缺少经验。这时,你可以看一些网上开源的cms,例如织梦,国内用的多,越到问题好解决。看看一些视频(网上免费的很多),查漏补缺,总结归纳形成自己的知识体系。是时候该准备庆祝下自己这段的时间没有白费(一般2到3各月,看平时每天花的时间),基本成为一个合格的PHP程序员了。也该恭喜你了,其实并不那么难。坚持,坚持;努力,努力;学习,学习。
⑸ 学习PHP具体分为哪些课程
1.有语言基础的,直接装个wamp/lamp进行书本代码,复制学习。
2.没基础的,最好学习一些入门编程语言,例如c。
3.自认为学习能力强的,看第一条。
⑹ PHP语言的有哪些优势和特点
优势和特点:
1、执行速度快:PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页比CGI、Perl和ASP更快,这是它的第一个突出的特点。
2、具有很好的开放性和可扩展性:PHP属于自由软件,其源代码完全公开,任何程序员为PHP扩展附加功能非常容易。
3、数据库支持:PHP支持多种主流与非主流的数据库,如:、Adabas D、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、MySQL、Microsoft SQL Server、Solid、Sybase、ODBC、oracle、oracle 8、PostgreSQL等。其中,PHP与MySQL是现在绝佳的组合,它们的组合可以跨平台运行。
4、面向对象编程:PHP提供了类和对象。为了实现面向对象编程,PHP4及更高版本提供了新的功能和特性,包括对象重载、引用技术等。
5、版本更新速度快:与数年才更新一次的ASP相比,PHP的更新速度就要快得多,因为PHP每几周就更新一次。
6、具有丰富的功能:从对象式的设计、结构化的特性、数据库的处理、网络接口应用、安全编码机制等,PHP几乎涵盖了所有网站的一切功能。
7、可伸缩性:传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。
8、功能全面:php包括图形处理、编码与解码、压缩文件处理、xml解析、支持http的身份认证、cookie、 pop3 、snmp等。
(6)php能做什么知乎扩展阅读:
PHP的发展现状:
PHP技术核心和相关的人才需求,正符合互联网的发展趋势。网站开发、API接口开发,服务器端开发,移动端后台开发,内部OA系统开发,游戏开发等均用到PHP语言。
在IT行业和互联网的飞速发展的时代,企业对PHP开发人员的需求也大幅增加,目前在国内专业的互联网招聘网站,好多知名公司发布招聘PHP岗位,其中包括网易、京东、联想、阿里巴巴、滴滴打车、美团、大众点评、易到用车、网络、新浪、搜狐、奇虎、腾讯等。
⑺ php模拟登陆知乎
想要爬取知乎,首先要解决的就是登录问题,知乎登录还是比较简单的,这里有一个示例:
https://demo.zjmainstay.cn/php/curl/hulogin.php
而爬取,不过是对登录成功之后的得到的cookie进行再次利用,使用
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
即可。
上面示例最后一步获取登录成功后的首页就做了示范。
至于爬取过程对链接(文章链接、专栏链接等)的解析,需要针对来处理了。
解析可以用phpQuery,也可以用正则。
你可以参考我这个全站爬取程序:
https://github.com/Zjmainstay/CurlMulti/blob/webClone/demo/custom/webClone.php
更多关于PHPcURL的内容,请参考《PHPcURL实现模拟登录与采集使用方法详解》
http://www.zjmainstay.cn/php-curl
更深入讨论可以通过我的博客找我。