怎么自学php入门,需要先学JavaScript吗?
在BAT实习的时候,使用thinkphp框架开发过一个平台,当时我是既不会PHP,也不会JavaScript的。接下来给大家分享我的经历,以及我的建议。
PHPPHP确实是挺适合自学的后端编程语言,尤其是有了thinkPHP框架后,使PHP语言在华语地区更是如鱼得水。作为框架界的“国货之光”,这个由中国人编写的框架有很多的中文资料与经验贴,因此很适合新手学习使用。
PHP毕竟是后端语言,虽然可以嵌入在网页中,但是其主要战场还是在后端,因此除非是打算做一个全栈工程师,或者是独自一人挑大梁开发网站前后端,否则没必要先学习JavaScript。
换句话说,如果能够做到前后端分离,不妨专心学习PHP以及相关框架,无须分心去做JavaScript。
JavaScript但是我们当时没有做前后端分离,我当时是先学习的thinkPHP再学习的JavaScript。因为thinkPHP的架构代表了整个系统的数据流向,因此可以把JavaScript完成的工作看做一个封装好的模块,作为一部分与(在)thinkPHP中进行交互。学会了(thinkPHP的)整体架构后,再学习这个模块内部(JavaScript)是如何与外界(PHP)交换数据的。当然,我的经验属于一个瀑布式学习方式,比较适合快速开发,而不适合夯实基础。
综上,从我个人的建议,JavaScript只是个基础,学会了JavaScript基础后也不能马上去找工作,但是学会了PHP之后就可以去应聘PHP开发工程师了,因此还是可以考虑先学PHP。
以上是我的浅见,如果对你有所帮助,欢迎各位点赞留言,与我交流。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。
想自学PHP开发?
基础:搭建lamp环境,php语言(函数,结构,数据库Drivers)
中级:缓存(redis、memcache等),数据库设计(主从分离),服务器配置(linux系统学习、动静分离、负载均衡等)
高级:熟练运用各大框架(thinkphp、CI、YII、laravel等)建议:thinkphp最简单,可以由此入门
骨灰级:研究php语言核心,加入php核心团队,做文档,拓功能,推动php发展(膜拜鸟哥)
更多想要了解可以关注中公教育优就业。
自学Linux怎么学?
小伙子,本人作为一名工作多年的程序员给你分享我的看法:1、你应该是刚接触linux,基本的命令也没用过,相当于零基础学习linux,本人推荐“Linux入门教程”这个系列的课程给你,非常适合小白入门。该教程本人已经上传到头条主页,讲得非常非常详细,从环境安装搭建、到常用的cmd、还有linux系统进阶,该教程本人真的觉得很精品,非常非常适合像你们这类刚出来的小伙子学习
2、现在是网络资源共享的时代,很多学习资源在网上都可以找得到,无论是零基础、小白,还是工作多年的程序员,从入门到进阶都有很多教程,本人主页专注于分享C语言、linux、Java、Python、单片机、arm、嵌入式、人工智能等IT类的教程,点击主页即可学习观看。
3、学习是一件需要自主、自律、自强的事情。你现在已经自主地想要去学习,只要你再自律一点,每天坚持学习,我相信几个月后你会变得自信、强大。4、最后补充一点,除了每天能坚持看教程学习之外,一定要按照教程说的实操,比如 搭建环境、敲代码、或者准备一套开发板同步学习,作为一名过来人告诉你实操真的很重要。最后,祝你学习愉快、进步神速!如何学习Web开发?
web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路
建议把本文打印到一张A4纸,搞定一条打个勾
web框架学习列表 如何定义 url router如何组织 request handler 函数写一个最简单的request handler 函数如何从get/post请求中取出参数如何定义全局url 拦截函数如何获取/修改/存储 cookie,session数据如何修改/输出 http header 数据如何部部署app 程序服务器部署可以参考读python web 程序的9种部署方式如何配置开发环境如何配置静态文件访问如何访问数据库是否支持ORM支持orm如何维护表结构的变更如何定义/组织/初始化 数据表如何对接orm系统和现有的表结构掌握最基本的add/delete/按字段查询/count/slice/order by如何直接使用sql 访问数据库不支持orm (这样的web框架,不用也罢)如何使用模板系统如何组织/访问 模板文件的目录结构如何在模板中嵌入代码模板是否支持继承结构模板之间如何include如何自定义模板函数如何通过http get/post 获取远程数据如何parse json如何parse xml如何输出为 json如何处理状态码:404和50x如何处理文件上传可选的学习项目 发送emaillog图片处理误区 表单验证辅助函数,很多框架的表单验证部分实现的特别复杂,初学者完全不需要,手写代码处理就够用ORM中的hasone,manytomany,onetomany关系,概念很复杂,其实只是多写/少写一个查询字段的关系,学习成本太高,初学者完全不需要理会,直接跳过。
如何快速学习一个WEB开发框架http://www.pcpob.com/article/view/1939-how-to-study-a-web-framework
如果已经学会了一个PHP框架,再去学习其他php框架,那么会很容易上手。但是如果还没有php框架基础,想去学习php框架,往往是一头雾水,不知道从哪里下手,从我学习php框架的经验,给大家分享一下,如何快速的去学习并掌握一个框架。一,选择一个合适的php框架 在国内,使用zf,ci和tp框架的人比较多,新手可以从中选一个去学习,新手不建议一开始就去学习zf,功力还不够深,学习zf会让你更迷茫。如果php基础实在太差,学习ci和tp都觉得有点难度,那么建议去学习一下我做的框架--canphp框架(简称cp,qq群:74781204),cp=ci+tp的结晶,更为简单,更容易理解。二,选定一个php框架之后,如何去学习第一步,把下载回来的框架压缩包解压,然后把每个目录和文件名,大致的浏览一遍。这样可以大概看出,这个php框架中大致布局和具有哪些功能。第二步,学习输出hello world,hello world很简单,但是对于学习一门新的语言或框架,很重要。第三步,学习理解单一入口和网址解析(即网址路由),单一入口,对于新手来说,可能有点不太好理解。第四步,学习php框架的内置的模板操作,主要学习程序是怎么赋值给模板,怎么加载模板和常用的模板标签第五步,学习数据库的添加,修改,删除,查询,学会简单的数据库操作。第六步,学习php框架常用的函数和类库,php框架中一般会带一些常用的函数和类,可以稍微看一下,此时还没有必要深入研究,等用到的时候再详细的去看手册和样例。第七步,下载基于此框架开源的项目系统下来学习,了解了php框架的执行流程,模板操作,和数据库操作,下载一个开源的系统,下来去学习,学习别人的代码,学得更快。第八步,做项目学习,要熟练掌握一个的框架,需要大量的实践,通过做项目,去深入学习。第九步,阅读框架代码,了解其实现原理
第十步,到这一步,你已经学会了这个php框架。
在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来。 顺便说一下,StackExchange真是非常好,大家可以对同一个答案做贡献和修订,看看这个问题的修订过程你就知道了——专业的问答网站应该怎么去做。这就是我在这篇文章中也说过真正的用户体验是什么样的。
好了,下面是正文(我对原文做了一些批注,也许不对或有误导,请大家指正)
下面的这些东西可能对于大多数人并不陌生,但是可能会有些东西你以前并没有看过,或是没有完全搞懂,甚至都没有听说过。(陈皓注:我相信当你看完这个列表后,你会觉得对于我国的Web开发有点弱了,还是那句话,表面上的东西永远是肤浅的)
接口和用户体验
小心浏览器的实现标准上的不一致,确信让你的网站能够适当地跨浏览器。至少,你的网站需要测试一下下面的浏览器:最新的 Gecko 引擎 (Firefox),一个 Webkit 引擎 (Safari,Chrome, 或是其它的移动设备上的浏览器)IE 浏览器 (测试IE的兼容性你可以使用微软IE的Application Compatibility VPC Images)Opera 浏览器。最后,你可以使用一下这个工具 来看看你的网页在不同的浏览器下是怎么被显示出来的(陈皓注:这个工具就是以前本站介绍过的在不同浏览器和平台上检查你的网站的兼容性)
多考虑一下人们是怎么来访问你的网站而不是那些主流的浏览器:手机,读屏软件和搜索引擎,例如:一些Accessibility的东西: WAI 和 Section508, 移动设备开发:MobiForge.部署Staging:怎么部署网站的更新而不会影响用户的访问。 Ed Lucas的答案 可以让你了解一些(陈皓注:Ed说了一些如版本控制,自动化build,备份,回滚等机制)。千万不要直接给用户显示不友好的错误信息。千万不要把用户的邮件地址以明文显示出来,这样会被爬虫爬走并被让用户的邮箱被垃圾邮件搞死。为用户的链接加上 rel="nofollow" 的属性以 避免垃圾网站的干扰。(陈皓注:nofollow是HTML的一个属性,用于通知搜索引擎“这个链接所指向的网页非我所能控制,对其内容不予置评”,或者简单地说,该链接不是对目标网站或网页的“投票”,这样搜索引擎不会再访问这个链接。这个是用来减少一些特定垃圾页面对原网站的影响,从而可以改善搜索结果的质量,并且防止垃圾链接的蔓延。)为网站建立一些的限制 这个属于安全性的范畴。(陈皓注:比如你在Google注册邮箱时,你一口气注册超过两个以上的邮箱,gmail要求给你发短信或是给你打电话认证,比如Discuz论坛的会限制你发贴或是搜索的间隔时间等等,更多的网站会用CAPTCHA来确认是人为的操作。 这些限制都是为了防止垃圾和恶意攻击)学习如何做 Progressive Enhancement. (陈皓注:Progressive Enhancement是一个Web Design的理念,如:1)基础的内容和功能应该可以被所有的浏览器存取,2)页面布局的应该使用外部的CSS链接,3)Javascript也应该是外部链接还应该是unobtrusive 的,4)应该让用户可以设置他们的偏好)如果POST成功,要在POST方法后重定向网址,这样可以阻止用户通过刷新页面重复提交。严重关注Accessibility。因为这是法律上的需求(陈皓注:Section 508是美国的508法案,其是美国劳工复健法的改进,它是一部联邦法律,这个法律要求所有技术要考虑到残障人士的应用,如果某个大众信息传播网站,如果某些用户群体(如残疾人)浏览该网站获取信息时,如果他们无法正常获得所期望的信息(如无法正常浏览),那可以依据相关法规,可以对该网站依法起诉)。WAI-ARIA 为这方面的事提供很不错的资源.安全
在网上有很多关于安全的文章,但是 OWASP 开发指导 涵盖了几乎所有关于Web站点安全的东西。(陈皓注:OWASP(开放Web应用安全项目Open Web Application Security Project)是一个开放的非营利性组织,目前全球有130个分会近万名会员,其主要目标是研议协助解决Web软体安全之标准、工具与技术文件,长期 致力于协助政府或企业了解并改善网页应用程式与网页服务的安全性。OWASP被视为Web应用安全领域的权威参考。2009年下列发布的美国国家和国际立法、标准、准则、委员会和行业实务守则参考引用了OWASP。美国联邦贸易委员会(FTC)强烈建议所有企业需遵循OWASP十大WEB弱点防护守则)web前端学习?
现在的所谓前端,已经非常广泛了,不再是网页的前端页面了,它包括:网页的前端页面、APP的前端页面、小程序的前端页面等等。
1、如果只是做前端静态页面,不需要学习PHP。现在IT公司为客户开发一款网站程序,都是分工非常细的。主要流程:策划 => 美工效果图 => 美工切图 => 前端静态页面 => 网站后台动态界面 => 前端页面调用动态数据 => 调试 => 上线。从整个流程,我们可以看出,前端工程师一般是不需要懂PHP的,他们只需要书写前端页面的静态代码即可。
2、如果是APP和小程序的前端界面,也不需要学习PHP。越来越多的公司把重心倾向于移动端,也就是移动端的APP。而对于APP或小程序的前端界面,前端工程师也不需要有PHP知识,他们只需要懂得编写APP和小程序的编程语言就可以。如果APP和小程序调用的后台是PHP后台,也跟前端工程师没啥关系。更何况,很多公司开始使用node.js来开发后端。
3、如果是PHP网站的前端页面,那还是需要懂点PHP的。如果你所开发的是一个PHP网站的前端页面或模板,如:wordpress模板、z-blog模板,这个时候,你还是要懂一些PHP知识的,没有PHP知识,你将无法胜任。因为这类网站的前端页面或模板,都是PHP代码与HTML代码混编的。
不管怎么说,作为一个前端工程师,如果能懂PHP知识,那将会更加吃香,技多不压身嘛,这样,在应聘中会更加有优势。
以上就是我的一些拙见。如有不同观点,欢迎评论。同时欢迎“关注”我。