php 命令怎么样,MySQL全部学完要多久?
结合自身的经历谈下这个问题,不一定适合于所有人。
感觉可以分为下列几个学习阶段。
这两个应该是对初学者比较友好的了,html大概了解一些常用的标签,css的话看下各种选择器的写法,然后找个网站模仿着写一遍样式,基本上就有感觉了。之所以推荐这两个先学除了简单,还有成就感,写的东西直接以页面展示出来,这比很多大学以C教学,对着命令行打印一堆数据的体验要好很多。你甚至可以尝试着写一个静态网站来做一个自己的简历,展示到朋友圈。
学习资源的话,推荐两本书吧。
《Head First HTML and CSS》
Head First系列的书一直评价很高,这本书也是。但我觉得其实没必要一来就学那么多,很多标签和属性你都记不住,更不用说css那么多属性了,很多从业多年的前端应该也只能记住其中的大部分吧。推荐的学习方法是Learn by doing.过程中遇到问题的话,学会用搜索引擎+MDN.
《CSS Secrets》
看完这本书你会感叹,原来CSS还可以这样写。
JavaScriptjs的话还是比较复杂的,很难短时间就掌握的很好,但你至少要搞懂一些基本的控制流语法,变量,常量,函数,类这些东西。至少做到你参考别人的代码能看懂别人大概在写啥。
小白可以看下这本GitBook上的书,基础的东西都有涉及,也不长。最多一个小时就能看完。https://www.gitbook.com/book/xinqiu/learn-javascript-cn/details
稍微有基础了,想深入学JavaScript这门语言的话,可以看下《Javascript权威指南》这本书。
但老实说,这本书虽然很好,但是不适合初学者看,我看了一部分之后觉得纯看书籍的话还是太无聊了,不太适合自己,遂弃之。
相比之下,我更推荐廖雪峰大神的《JavaScript教程》https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000,在网上就能看,前面很基础,然后后面开始飙车。大家可以选择性看,文中提到了很多初学者会遇到的坑,比如var that = this.这种小技巧。很多时候初学者会被这种问题困扰很久,有人指路会帮你节省很多时间。
之后你可以了解一些ES6的新语言特性,然后试着用React,Vue,Angular之类的框架来试试。
选择的话,感觉新手推荐Vue,封装的很好,有时会觉得就算不会js,跟着Vue的教程,也能开始写一些东西。React的话,个人感觉要稍微难点,写的感觉和原生的JavaScript要接近些。Angular没写过就不评价了。但这三个框架的很多思想其实有共同之处,学会一个,学另一个会简单很多。所以不必太过纠结。而且前端这个领域,技术更新很快,如果你想学一门一劳永逸的技术,那么前端很可能并不适合你。
PHP+Mysql这两个感觉是相互依赖的,写PHP不可避免的就要操作数据库。PHP我写的也比较少,只用Phalapi写过一个小网站,但感觉整体写起来的感觉不是那么爽,但也有可能是我打开的方式不对,数据库的话,php有别人封装好的ORM库可以对数据库进行操作,这使得你可以不会sql语法也能对数据库进行操作,实在需要用到sql的时候,可以查下文档,然后模仿着写。因为这方便了解的不多,就不瞎提建议了。
不过虽然php是世界上最好的语言,我也建议你有机会试试python或者node.js。或许会打开新世界的大门。
以上这些内容如果自学的话没个至少需要一两年的时间,还无法保证能学会。培训大概需要5个月的时间。想全部掌握好以上只是,可以来千锋武汉IT培训机构系统全面学习一下。千锋全程面授模式教学,真实项目实战,可先来免费试听两周,实地亲身体验下!
Java开发和PHP开发哪个更难学啊?
其实这个问题可以从三个方面来回答:
1.语法层
2.应用层
一、如何自学
从语法层来说,都是c语系。关键字,操作符,以及语句差别不大,都能跨平台,都是基于解释型的语言。
java是强类型,通用语言,可以用于客户端,服务器端等各种环境。而php本身定位服务器语言,并且是弱类型语言。随着时间的推移,你会发现,原本各种脚本语言越来越向面相对象,面相接口编程,并且逐渐向强类型过度的趋势。
为什么呢?因为现在的程序越来越复杂了,不是几句增删改查能解决的。各种框架是建立在设计模式,mvc,mvvm等思想理念上的,要求你的语言支持继承,支持多态,支持数据隐藏等等。所以php也在改革,改得越来越像java了。而且大型程序,强类型有着天然优势,例如编译器错误检查,函数签名自解释,内存使用量小非常多,等等等等(例如typescript现在优势逐渐显示出来了)。所以我的结论,如果你一开始学,还是选java比较适合。个人建议而已!我不想引起语言之争!
从应用层来说,不管哪门语言,学了语法就是掌握格式而已,真正的应用是需要很多基础知识
首先,肯定是数据结构要掌握,你不会抽象结构,不会一些基础容器操作,那根本没办法走远。其次,业务知识。如果你做服务器开发,那么tcp/ip http等基础协议至少要了解。各种常用类库要会用。如过更加专业的领域,例如金融之类的,那么还需要行业知识。然后,面相对象和设计模式一定要多了解,多学习,多模仿,多应用。当然这个是靠你自学以及经验的,需要慢慢累积。就是一句话,多动脑,多动手,多查资料
关于如何自学:
我个人经验是选定一个开源项目就不要换,深入了解。
一定要学会跟断点,各种调试方法。
分析项目的各个模块,各个类之间的关系,为什么要这么做
一定还学会google,baidu。拼命了解术语和关键字。建立对代码的敏感性触觉。
以你所学源码为基础进行知识的学习。任何知识都是具有延续性(上下扩展)和延展性(左右扩展),随着时间的增加,你会积累越来越多知识。
反正一口气吃成一个胖子.那是不可能的!
扩展资料:
java语言的历史已经非常悠久,一直处于大哥地位。这一方面是因为他是众多语言的基础,比如现在比较火爆的android,java就是android的基础。学习java的人,可以很快转入android的队伍,足以看出,java的灵活性。其次,现在大多数企业都以java作为主流语言,如果你经常上网的话,就可以发现,许多网站都是用java做的。为什么呢?原因就在于,java适应性实在是太强了,任何一个平台他都可以在里面游刃有余。1、java和php技术层面对比:
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考第6点。
PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。
两者相比,基本上java完胜。但是其实并没有太大的可比性,专注领域不同。单纯拿两者都可以做的WEB来说,PHP完胜。
2、java和php市场份额对比:
java语言算是古老,多年的发展,其在C/S领域和B/S领域都占有一席之地,特别是在电信和银行行业。但随着社会需求的变化和其他语言的专注,java的市场正被一点点蚕食,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。其之前积累的巨大java帝国不会一下子崩塌,一定是有一个过程。所以现在学习并不需要担心其前途,现在学习你更需要担心的却是近十年间英才辈出的javaer,和大批正在进入java阵营的同业者。
PHP在市场描述就比较简单了,因为我们只要看一个领域,那就是web领域。WEB领域php的市场超过80%,其余的则是如java-JSP,asp,C#,.NET,python,ruby等。网站500强中有395家使用PHP。全球最 大的两个网站facebook和新浪微博全在使用PHP。 两者相比,算平分秋色。
3、java和PHP的发展空间对比
安卓势头很猛,但手机安装app数量有限,推广难,也是app面临的最 大挑战,好在安卓只有JAVA可以做,除此之外就是HTML5了。
中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%,网站的可发展空间可谓巨大;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可谓互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。
两者相比,个人觉得PHP的优势更加明显。
4、java和PHP的薪资对比
薪资事由供求关系决定的,人才缺失,薪资自然高,人才饱和,薪资自然不会高。
java由于大学基本都有这个课程,很多人想从事软件行业的时候,自然就学习JAVA了,加上java近10年的火爆,人才辈出,整个java行业是处于供大于求的。南京地区:一个30人的java培训班,最 后差不多10人找不到理想的工作而转行,最 低薪资甚至只有1000多元,就有人肯干。当然java学的好的,薪资4000多也是不少的。
PHP完全依托于市场的驱动,难点在于很多人并不了解PHP,也没途径可以了解,根本原因是大学没有这个课程,我知道的,南京百十所高校只有晓庄学院开了PHP课程,而且不是作为主修。市场对PHP的需求,高校并不清楚,高校更愿意推符合学院派特点的java。
学习php的人少,企业需求多,导致PHP薪资远远超过了同行业者。一般起薪没有低于3000元的。南京地区高的早已经突破4500元。北上广更是突破了6000元的起薪。
两者相比:除了java工作难找,但只要找到了工作,高位线是差不多的,低位线JAVA明显处于劣势。
5、java和php的薪资涨幅速度对比:
java是公认的难,难上手,真正上手需要至少1-2年,而这期间都属于学徒级别,薪资涨幅有限。2年后会有一个较大的涨幅,基本拿个6-7千是没有问题的。
PHP是公认的简单,上手极快,基本过了试用期就可以涨工资了,PHPer正常是半年涨一次薪资,前3年的幅度都还可以,1年5-6千,2年7-8千。3年能过万的也大有人在。
两者相比:其实php的前端优势明显,后段双方区域持平。并不像很多人说的PHP后面难涨,PHP缺人,但更缺熟手。java也不像很多人吹嘘的那样高薪,两级分化严重。其实也很正常,越难的语言,两级分化越是严重。
6、java和php各自发展的瓶颈:
JavaEE体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。使用Java是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和维护难度使Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。
Java的特性使得它并不适合业务随着市场快速变化的互联网企业,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。php的大中型系统开发,方便、快速、是java跟http://asp.net没法比拟的, 还有php有很多如yaf,yii,ci等强大的框架, 中小型一般系统的开发,一个thinkphp就足于通杀java的ssh三大框架了。
PHP由于其简单,快速开发等特点,也导致了开发复杂应用稍显吃力,所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,导致其开发快速,学习简单;但也导致了学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。
所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,facebook和http://weibo.com正在大量使用扩展功能去应对一个又一个的难题。新浪微博架构师兼首席PHP技术顾问惠新宸一直在专注与PHP底层原理的研究和分享。扩展是被他认为PHP最伟大的地方。
学习完PHP和MySQL之后应该学习什么?
一,js方面
∴原生js能不能看懂?原型链,this指向是否明白?es6
∴能不能写简单的特效比如轮播图
∴Nodejs了不了解?至少搞明白异步编程思想
二,html方面
∴vuejs angular等前端框架至少会一个吧
∴html5常用标签css3常用属性都要了解掌握
∴移动端自适应等其他常见前端问题解决办法
∴其他:若能结合js vue nodejs html写一个前后端分离的简单的网站那是极好的!
三,服务器linux方面>重点难点
∴熟悉apache nginx服务器以及他们和php结合工作的原理,熟悉他们的优化配置,熟悉linux下其他常用软件安装和配置优化mysql redis mongodb memcache等 。
∴熟练使用linux常用shell指令,能编写简单的shell脚本,比如定期数据库备份
∴熟悉负载均衡配置,根据实际情况合理设计,熟悉数据库分库分表 主从复制。业内常见的解决方案,比如阿里mycat 。其中的原理,比如分库后事务一致性怎么解决?
∴http协议,TCP/IP协议,socket网络编程这部分可以参考php框架swoole和nodejs网络编程
∴多进程多线程编程,虽然php一般用不到,但作为程序员还是必须了解的
∴高并发下加锁的问题,防止死锁产生。比如商品秒杀
∴常用的队列软件熟悉一个即可,如rabbitmq
∴数据库索引优化和sql语句优化等这就不说了必备的
∴其他,如cdn,oss等
四,php方面
∴熟练使用至少两个框架,建议至少熟悉laravel现代化的php框架,里面有很多设计思想。
∴高并发下快速定位代码,找到解决方案。比如之前有公司业务有同事将一个两万多条sql记录放到了redis每次拿出来循环执行任务,导致服务器访问缓慢。大量502虽然找到了,但没找到之前还真不知道毕竟别人写的不熟悉。再比如数据库某个字段没加索引每次查询需要两三秒。
五,其他
∴有时间建议学习一门其他语言。如果你足够牛就学c++方面的,其次java,然后golang,最后python。不过大部分学习php得程序员都是考虑到它简单好用,而且按照目前的形式加上难易程度。建议golang或python
最后,这些仅仅是个人在工作中遇到的需要解决的用到的知识或有些是自己也还在学习探索中,仅属于一人之见,仅供参考。依照个人工作需要,遇到问题解决问题才是最快的学习方案。而且学的多当然工资高,压力也大,所以还是看个人了。我就喜欢清闲点?
为什么很多书上都没有提及?
首先,php是可以实现连接池的,不过只能在cli模式下运行可以实现,通常我们的web服务是使用cgi模式运行的。
一般中小型应用,不太需要用到这个,主要php连接数据库的扩展基本都是c实现的,速度其实很快。
如果确实发现连接瓶颈(基本不太可能),你可以参考下面解决方案。
1. 你可以用命令行模式,写一个常驻后台的进程来实现连接池,开放接口给其他应用调用即可(不建议尝试,过于复杂,且稳定性待定)
2. 当你使用持久连接连接数据库的时候,实际上每一个fpm worker进程会对应一个mysql连接,你可以根据这个特点来配置phpfpm工作进程数和mysql连接数。(也不是太好)
3. 安装swoole扩展可以实现真正的连接池,而且效率非常好。
建议第三种方案,成熟且高性能。
PHP的解压缩函数怎么用?
在你的PHP安装根目录下,找到php.ini并打开,查找;extension=php_zip.dll,将这行指令前面的";"删掉,就表示开启压缩功能。。。如果你的虚拟空间不能用压缩功能那表示空间服务商没有开启这个功能。