本人二流学校的大三通信女 本专业这条路实在是难以走下去 想自己学学php 自学能力还行 求高人指导一下学习的流程和对报补习班的看法 身边有不少的人报培训班 也有很多的培训班到我们学校来宣传 实在是纠结 但比较倾向与自学 因为很不成熟的认为那样比较酷的说
求高人指点一二 在此谢谢啦
回复内容:
嗯,对于PHP,我不是专家; 但对于如何学PHP, 我是专家.
我从四个方面来阐述!
- 学PHP最快的话,要多长时间?
- 高效的学习方法
- 具体的学习路线
- 自学和培训的异同
--稍等一会,教室有学员问问题.----
--回来继续 ---
一: 学PHP最快的话,要多长时间?没有前提条件的问题讨论,只会变成无意义的争吵.
因此先设定两个前提:
前提1.学员基础为"没有任何程序语言基础",能"熟练操作电脑(打键盘,建目录等)".
前提2."学会PHP"是指走上了PHP正式工作岗位.
在此前提下,无论自学,还是培训,学习PHP的
极限速度是:
2个月!
一位叫"星罗"的同学,2013年,用56天的时间自学,拿到offer.现在在南京工作.
"星罗"每天的学习时间为16个小时.
这里有他的学习和面试过程:
面试那些事[一]
面试那些事[二]
面试那些事[三]
2年来,数百位基础参差的学员,高中毕业/古文专业/英语专业/车床工人/保安/张家口的矿工...等等,
他们用2个月的时间,从布尔教育
,走上工作PHP岗位.
最快的一位同学是49天,他们每天学习时间是12到14小时.
2个月这么短,怎么可能学会?
其实你应该反过来问:
2个月为什么学不会?
奥运会追求的,是人类体力的极限.
学编程,我们为什么不去追求脑力的极限?
短跑上,百米10秒一度被科学家认为是人类不可能逾越的极限.
但被 吉姆·海因斯 突破后,就有越来越多的选手突破此极限.
所以,真正的极限,在你的内心.
当然,光靠主观拼命,是不够的,科学高效的学习方法,才是快速学习的保障.
二: 高效的学习方法 --学编程没有捷径,但可以少走弯路.
编程最快的办法--是迭代学习法,也是布尔教育
做2个月培训的理论依据.
何谓迭代?
大部分的教学方法,都是一门课一门课,顺着教过来.
而在一门课中,又是一章一章,一节一节,顺着教过来.
----对于编程,这是错的!
正确的学习方式---
先主干,再粗线,再细节,带学员
逐步深入,反复迭代.
以HTML课程为例,几乎所有的课程,都是上来先讲讲标签,p,h1,h2,div,pre,ul,li.
试想: 一位0基础学员,一下子告诉他这么多标签,他能不晕吗?
即使
所谓的"名师",也无非是声音洪亮,PPT和笔记做的细罢了.
但这种错误的教学方式,
PPT做的越细,学员越学不会.
正确的做法是不管标签,先告诉你,看这张网页,如果他是这一块布,
如何把它剪切成上中下三大块? -- 先主干
中间一块,又如何切成左右两块? -- 再粗线
左右两块中间,又如何插入文字图片? -- 再细节
如果没有明白这种学习方式,请你看素描的过程
正确的素描步骤,就是典型的迭代学习过程.而
大部分老师的教学方式,都是平铺灌之,如下图.
对于迭代学习法,理解一点了吗?
如果仍没有,建议你看看我的"8小时学会HTML网页开发
" ,
这个课程,非常典型的体现出布尔教育
独特的"迭代学习法"
请允许我自大一下,这是国内最好的HTML网页课程,没有"之一".
由于我见的世面少, 在计算机教学方面,就见过汇编语言"一书的作者 王爽,可为知音. 王爽(中国著名计算机科学教育家)
三. 具体的学习路线第一轮迭代 (6天, 迅速掌握PHP做网站到底是什么回事)
- HTML(3天学习+2天练习) 教程:8小时学会HTML网页开发
- PHP3小时光速入门 (半天学习+半天练习) 教程: http://pan.baidu.com/s/1pGHc0
第二轮迭代 (14天, 夯实PHP理论基础,并用面向过程做一个Blog)
- PHP基础巩固(3天学习+2天练习) 教程: PHP基础巩固 - 自学it网
- MySQL3天基础巩固(当天学的当天练,共3天) 教程: http://pan.baidu.com/s/1i3oVAkP
- Blog开发(cookie/session,文件上传,分页类,GD缩略图,验证码,在此项目都将练到,6天)
视频地址: http://pan.baidu.com/s/1dEqLSyP 密码 km1j
第三轮迭代 (4天,继续提升理论知识)
- PHP面向对象 (2天) 教程: 链接: http://pan.baidu.com/s/1qXvXDqG 密码: apvh
- PHP面向对象常用类 (1天) 自己搜索着写出上传类,缩略图类,分页类,MySQL类
- 面向对象方式再次做Blog (1天) 同上,自己摸索来
第四轮迭代 (7天, 框架,等实用开发工具,为就业做准备)
- Http协议 (半天) 教程: 链接: http://pan.baidu.com/s/1i4Onuex 密码: x538
- 正则表达式 (半天) 链接: http://pan.baidu.com/s/1bLbwCm 密码: k7tk
- TP框架 (1天) 教程: 见下一行.
- 用TP框架做一个商城(5天) 教程:http://pan.baidu.com/s/1bTRsxo 密码: ed5i (发布于16年/07/17)
第五轮迭代 (7天, js/jquery等前端技能)
- javascript (2天学习+1天练习) 教程: 谈笑间学会JavascriptJS游戏--别踩白块
- ajax (半天学习+半天练习) 教程: http://pan.baidu.com/s/1hMOA 看前10集即可
- jquery (2天学习+1天练习) 教程: jQuery 实战经典
第六轮迭代 (4天,Linux服务器)
- Linux(3天) 教程: Linux 入门基础
- lnmp环境(1天) 教程: 教你编译PHP7 (nginx+mysql+php7)
第七轮迭代 (3天,实用开源产品的二次开发.套模板虽 low,但不敢保证你一定去大公司对不对?)
- PHPCMS模板(1天)
- ecshop二次开发(1天)
- discuz插件开发(1天)
第八轮迭代 (面试及就业实用技术)
- svn+git (1天)
- bootstrap响应布局 (1天)
- 微信开发 (1天) 教程: http://pan.baidu.com/s/1hqWeiFihttp://pan.baidu.com/s/1c0YokhU
第九轮迭代 ( 3-5
年 ,注意是"
年")
各种框架,JS深入,MySQL优化, PHP底层,Linux运维,网络,C语言,python...
四: 自学和培训的异同须知: 学习方式有异同,但知识无异同.
无论是自学还是培训,CURD还是那个CURD , for循环还是那个for循环
答主倾向于"自学",因为"那样比较酷的说", 这真是一个好消息.
说明你爱程序,而不是仅仅是为了糊口才去学.
你一定可以成为一名优秀的"程序媛"
其实,培训就是花钱买一个学习氛围, 花钱买时间
一人自学, 就是凭毅力, 花时间省钱.
以我的经验:相同的0基础学员
自学,一般需要6-12个月.
培训,一般需要2-4个月.
而培训总花费一般在1万-2万之间,大概是2-3月的工资.
自学的难度在于:
- 没有强制性,学习时间易被手机/微信/QQ 打断,
- 容易沮丧, 一个小问题,一上午没搞出来,又没有老师指点,特别打击.
- 学练不统一, 只看视频,感觉懂了就过, 往往不去认真完成课后案例或项目.导致根基浮浅.
所以,你如果离就业还早,比如大二,大三,不妨自学.
如果临近就业, 不妨培训.
但无论选哪条路, 努力,都是必须的!
五: PHP培训周期为什么往往比2个月要长?2个月,是从追求极限出发, 但我们没有必要如苦行僧一般折磨自己.
博尔特百米能跑9秒,但他不会每天晨跑时,都百米冲刺吧?
布尔教育在之前,使用的是2个月的极限教学法.
所以之前的大部分班级,一个女生都没有,为什么?
强度太大啊,连男生都累的面有菜色.
如果我们对自己好一点, 再加一个月,总共3个月, 学习压力就小多了.
如果再考虑到"负基础学员"--连键盘都不熟悉的,就再加1个月的基础课.
所以----如果培训,
4个月的时间,是绰绰绰绰绰绰有余!
如果再继续拉长周期, 那么就
不是从教学出发,而是从
商业出发了.
毕竟,拉长周期,学费高, 还容易骗小白说--"看,我们这教的多....."
-
最快要一周……
第一天 ,上午 ,基础语法
在所有的编程语言中 都有的东西 , 其实也很简单:
声明变量,赋值,运算,判断,循环,
——这些内容 我想 用不了 两个小时 就可以搞定
因为 也实在是没什么 好说的。
在这里 还可以 研究下 整形,浮点,字符串,对象,数组 的区别
还顺便学下 编码的互相转换
然后 方法 对象 的建立 和使用 include require 的区别
——这些也就 两个小时 ,当然 不是多难的使用 只是最简单的 调用而已
还能把 public、protected与private $this-> 和 self:: 都了解一下
OK,我们去吃 中午饭
第一天,下午,数据库
如何链接数据库 ,如何使用数据库 ,SQL语句
(只涉及增删改查 和 LIMIT ORDER BY GROUP BY 这些简单应用)
——这个可能会比较难?
然后 可以随便找个 数据库类 来 学习一下怎么用,
还能接触一下 扩展类库的相关内容
——这个正好 复习了上午的知识 。
休息
第二天,上午 HTML ,GET/POST,初步了解 JS和CSS
一个上午的时间就过去了 ——和PHP关系不大 不多说了
第二天 , 下午 讲解 初级入口文件 建立MVC观念
这个或许 比较难 但是 完全可以深入浅出
a.php
$a=$_GET['type'];
if($a='login'){
include 'login.php';
}
if($a='newmessage'){
include 'newmessage.php'
}
比如 这样就是 一个 很简单的入口文件了
这样的话 应该 也可以很容易 理解的说
这样 就可以 学习建立 一个简单的 留言板了——当然 不是自动刷新的。
休息
第三天 , 类/类库,OOP,模块化编程 思想
第四天 , 如何 追踪错误 和 快速定位错误
其实到这里,关于PHP的基础教程 完全可以认为是结束了
任何程序 大体上 就是这些内容的 复杂化了
第五天 , HTML上传 JS JQ AJAX
第六天 , 算法 复杂SQL语句 , 数据库优化
第七天 , 初步接触 框架 , 缓存 等 应用
想打人的 请不要打脸……
谢谢
半夜睡不着,看到这个题目,来强答一发。
我不知道别人用了多久,我只用我的情况来告诉你我的答案。
答案是:一个月。
先说开始的情况:从没有接触过编程,不要说php,html和css都不会,好吧,其实就是什么都不会。
再说结束的情况:可以自己独立写出一个网站并交付给客户。
网站功能包含文章管理,图片管理等必有的,另外还有个最简单的论坛和问答版块。
写出来的东西肯定有bug,但基本功能肯定是用起来没问题的。
网站包括前台,后台,用户中心,有会员系统,无支付接口qq登录接口之类的第三方接口。
为什么我清楚的记得是一个月?因为客户说一个月内完成的话给我发个500块的红包,那个红包我拿到了。
更是因为从此我就走上了码农这条不归路。
学习顺序:html,css,js,php
为什么是这么个顺序,因为当时客户要时不时的看看进度,我得先做个静态页面的模型出来哄哄他。
不会怎么办?百度。那时还不会科学上网。
另外,问人,注意了,这点比上一点重要一百倍!!!
有人在你卡住的时候点拨你一下,比你自己去找方法解决可能省一两天时间!有的时候你可能就是卡在一个很基本的问题上很久,而这个问题可能基础到你都搜不到答案!因为写那些教程的人默认你是会的!
学习(或者是工作?)时间:没统计过,写累了就钻睡袋里睡,睡醒了继续写,累了再睡……至于洗澡什么的等完成再说吧……
那个睡袋现在还在家里的柜子里,后来我再没用过它,只是每次看到它时就想起这段时间的事……
写法:过程化,什么?面向对象?不好意思,那时不会,我第二个月才会……
请脑补客户想对项目做二次开发时看到代码时的懵逼表情。
框架?不好意思,我当时不知道有这回事,事实上,我知道有开源框架可以用时我已经在用自己写的框架了……
多读书啊同志们!如果我当时知道有thinkphp这类东西的话我何必要受这么多苦啊?
多么痛的领悟啊!
还记得第一次看别人的成系统的代码是个shopnc的c2c商城,当时还不知道什么是单点入口,什么是oop,看了后发现tm的还能这样写?
嗯,这里感谢下shopnc,当时的 不是现在的,现在的我去你网站上下个ecshop你三天两头电话骚扰我是什么意思?
三点半了还没睡意怎么办?
结束吧,总结一下,我这么笨的人一个月可以学到这个程度(不敢说是学会),应该有大牛在更短的时间内学会,有基础的人应该不会像我当时那么痛苦,因为当时好多东西是知其然而不知其所以然,好多东西要等到后来返过头来学c时才能理解。
重要的几点:
1、你要有人带或者有人可以请教。
2、对自己狠点。
3、要有压力,如果有人在后面催着你要进度那你的动力肯定跟高兴起来敲几下键盘不一样
给点建议:
1、你可以去威客站上接任务,这样就有人催你了,别管钱多少,因为你随时可能不想做了,买个新手机卡,开个新手机号(我不会告诉你我学新的语言或者技能时就是这么干的)
2、有好项目别找外包,因为你可能遇到当时的我。
3、有时间要求的项目别去威客站发任务,原因见1。
4、你最好自己组建技术团队。
5、如果第四条做不到请自学编程。
6、开发别追求速度,我做的最快的项目是8天(另一个悲惨故事,我的睡袋差点重出江湖),最慢的是现在所在的公司,一个订单系统我能一两个月的写,这其中的差别我相信能看到两个项目代码的人自有体会。
7、除了php,另外请至少学会android,ios,如果你只会php,相信我,你第一次写出来的接口肯定要返工。
8、学下c,如果你觉得枯燥无味可以去玩单片机,什么,汇编?现在单片机可以跑c了好不好!(我是不是暴露了自己的年纪?)
另外,我讨厌js。
我始终觉得,写js写久的人就跟开车开久的人(开真正的汽车,不是老司机)一样,脏话会一串一串的(个人觉得 ,不喜勿喷)
如果你有学习c,c++,java的背景,会很快上手php,可以先学习thinkphp,用wamp集成环境,phpstorm编辑器。通过这个框架弄懂web开发原理,记住,核心重点增删改查!大概一个多月,根据自己的情况。在这期间可以顺便熟悉html,css,js(通过3w school熟悉)。包括php原声,推荐
在这期间可以通过看视频学习(有很多tp框架的视频)和项目练习。差不多搞懂web开发模式了,可以换一个框架yii,phalcon,laravel等。熟悉这些期中一个框架后,可以系统的学习一下。开发模式,学习服务器nginx,linux系统,http协议,算法等。
我目前php开发环境及工具
1,php+mysql+nginx(配置在vagrant中)
2,框架laravel
3,数据库可视化工具sequel pro
4,测试工具postman
5,代码管理工具git
网络工程专业,有一些C和java基础,当初自己学了三个月就找工作了
大学不自学,有的是时间。干嘛要培训!
想学PHP,是自学还是培训?
以前写的.....我的建议还是上面这句话
女生学学可以,找工作太难。主要是用人单位戴眼镜招人。看到女生做程序一般不招。原因无外乎几点。
怕情绪太多,沟通不畅
怕半夜加班不方便或者直接不愿意加
怕结婚有孩子了基本上工作上不太上心了
php不难,学学做个小网站很容易,能力不错就更好了。
如果自己可以学到很牛逼,在github上有拿的出手的项目,上面那些估计会让用人单位刮目相看的。但是如果就是个普普通通的程序员。大部分公司还是喜欢要男生。
还有大部分程序员团体是鄙视培训学校出来的,最受欢迎的是名校科班然后是理科非科班自学成才的。最不受待见的就是培训学校的。当然具体看企业文化,如果是很小的公司估计大家都半斤八两,清华北大的也看不上的那种公司估计就没这么多说到。
多说一句,其实女生为什么不学前端技术,同样写程序,市场缺口还大,工资还高。而且相对后端,性别歧视没那么大。
别看天天一帮男程序员天天嚷缺妹子,人家那不是缺女程序员,是缺鼓励师!
我目前大二,和楼主同样是学生,一年前我对这些是一窍不通。因为我也是入世不深的小白,所以我说的并不一定有用,但是还是希望能给楼主一些帮助或者启发吧
先说说自己学php的经历吧
我是去年寒假末开始学php的,那时候我还是一个web小白,不过到目前我主要写了四个网站:
1. 记录笔记的网站。这是我写的第一个网站,还是用混编写的…写完去炫耀的时候就被宿友xss了…界面相当粗糙,不过通过这个入门了php和mysql
2. 个人博客。常规功能,分类评论文章管理,界面同样简单,同样混编写的,这时进一步扎实php和mysql,并且开始使用bootstrap
3. 书籍交易网站。项目需要,要做一个二手书交易网站,功能就不多叙述了,这时候知道前后端分离了,前端angular,后端php。写到差不多的时候后端上了laravel框架,重写后台。这时候知道用github了。前端css各种找特效
4. 个人博客。自从前后端分离,再也回不去混编的方式了,越来越看不下去自己的博客。于是寒假期间重写博客,不过不同前面用客户端渲染,这一次继续学习laravel框架,用laravel框架来写博客,深深感觉到laravel的强大(之前只是提供API,这里才是真正学习)
中间还接触了lnmp,vps,redis,vagrant等等,就不一一叙述了
然后说下我个人对学习php的看法
w3school是一个很不错的网站,楼主可以在那里看html, css, js的教程,不一定全懂,但是知道有这些东西以后可以回来查
接着就是自己尝试写几个静态页面熟悉html和css。之后可以学php和mysql写几个动态网站,一开始可以使用wamp或者xampp或者phpstudy等等这样的软件来在windows上面部署。按着教程一步一步来,然后自己开始尝试新的东西。其实这一步感觉基本就是操作数据库,用来用去就那么几句
然后开始做几个比较完善的网站出来,比如个人博客。基本上能做出一个个人博客来,php应该就算入门了
再后面可以多去看php的文档,或者去接触php的框架(强烈推荐Laravel)。一定要多敲代码,多写多用,这样学习是最快的
至于培训机构,我认为楼主完全可以自学,php并不难,如果楼主对这方面有兴趣,一定可以很快学会
希望我的话能给楼主的学习提供一点帮助
不是不推荐培训,是有的培训老师水平真的很low,说实话,我学习的初期也是看了一些培训视频,但是等自己有一定水平后,发现那些老师真的好low啊。你甚至无法直视他们理解问题的角度。你入门思考问题的角度很大程度上决定了你以后的发展方向。当然也有不错的,比如上面高票的燕十八老师。 他有大量的讲课视频流传在网上,如果你愿意,完全可以去自学。
但是有一点我是始终不认同的,就是所谓两个月就怎么怎么的说法,很多知识需要长时间时间积累,两个月,只够了解皮毛。我都学了一年多了,依旧感觉是个渣渣。学习需要一次又一次地豁然开朗,两个月可能连大脑独立思考的充足时间都没有。别谈什么人体极限,肌肉每天大量运动尚且会累,何况大脑,还是要进行编程学习这么大劳动量的事情。 有时候,人是不能胜天的,这你得认。
总而言之,如果选择培训,请选择靠谱的培训,找好老师。不管培训与否,任何速成的噱头都不可信。
有java与c基础是最佳的,学起来非常快,我之前有java基础,
学习路线是
php原生基础—smarty引擎—mvc开发,根据smarty写一个微型框架—tp框架,最好学tp3.2—yii2—然后就找工作了
———————……—…—————
没有基础的话我建议学完原生php,从正则表达式学起,了解smarty引擎的基本原理,语言不是关键,思想是开发的中心,前端知识也很有必要,ajax,json,html5,js,jquery,如果还有兴趣可以像我一样学一点服务器linux,shell,还有像xss攻击,sql注入,等等奇奇怪怪的黑客技术,实际开发还需要git,composer等等,基本上基础打好,先在公司做个项目先