真诚地感谢您的回答! 前些日子捣鼓Wordpress博客,对建网站产生了浓厚的兴趣。 请问标题上的这些东西,是建设一个网站所需要的完整一套知识吗? 还有其他需要学习的吗? 怎样安排其学习顺序? 谢谢! PS:听说还有个apache,好像是服务端软件,需要单独学习吗?
回复内容:
如果你有耐心坚持个一年以上的话, 我会推荐HTML, css ,js, apache ,php, mysql
后三者是需要装软件的, 推荐wamp, 绝佳的一站式环境配置,
WampServer, the web development platform on Windows 直接包括了apache, php, mysql三个软件, 省的自己一个一个装.
有不少人在评论里问mac os下对应的软件, 这里补充一下:
XAMPP Installers and Downloads for Apache Friends
首先学习HTML, css, 这两个东西是一套的, 非常容易理解, 把w3school上面的教程过一遍就会了, 记住要一个个过, 千万不要偷懒, 一旦开始偷懒, 你会越来越偷懒, 最后什么都没学成. HTML 教程 , CSS 教程
下一步是学js, js相比前两个会难的多, 因为js才是一门正式的编程语言, 同样, w3school的教程全过一遍, JavaScript 教程 , 教程过完了就可以买书看了, 强烈推荐一本超好入门书: 《JavaScript DOM编程艺术(第2版)》(Jeremy Keith,Jeffrey Sambells)【摘要 书评 试读】 , 认真学, 多看, 看完之后学jquery, 这个时候你基本能够了解语言库了, jquery 也直接过一遍w3school的教程, jQuery 教程 . jquery会了, 基本上你网页开发前端就已经入门了, 如果你学的扎实, 反复的看, 其实你就可以胜任前端开发的工作了, 不过浏览器兼容性还是解决不了的, 不过你目标不是前端工程师, 浏览器的兼容性不了解也无所谓.
在第二步你学习js的时候, 你可能就接触一些后端的东西, 没错, 就是ajax. 这个是需要后端返回数据的. 这个时候你要开始学习php了, 入门php相比于js会更麻烦一些, 因为运行php需要有很多细节要处理, 所以一本好的入门书籍是非常重要的, 这个w3school上面的php帮不了什么忙了, 推荐一本书: 《php和mysql web开发(原书第4版)》([澳]威利,[澳]汤姆森)【摘要 书评 试读】 , 当然, 这过程中你会遇到各种各样的问题, 但是如果你学到了这一步, 非常欢迎你私信我来学习, 我绝对帮助, 现在肯学习的孩子太少了, 而且题主才上高中, 太难能可贵了.
一些注意点, 学习HTML, css, js的时候, 只要有浏览器就够了, 不需要装wamp, 编辑器推荐sublime, 多用google, 多敲代码, 尤其是多敲代码非常重要, 不敲代码你什么都学不会. 其他的想起来再补充吧.
对于那些说加入xxx阵营的, 不要理他们, 直接在win上面学, php和apache对win的兼容性非常好, 完全可以从入门学到精通都无需碰linux. 当然, 如果你网站最终上线的话, 还是需要接触linux服务器进行部署. 这个到需要部署的时候再说, 提前接触linux就是浪费时间.
题主提到的这些是PHP工程师需要学习的基本的知识点。学习PHP绝对没有错,因为PHP是世界上最好的编程语言(逃~~~)。
地球上最火的博客系统WordPress,就是对PHP最成功的证明,相信很多人都是通过WordPress才接触到PHP的吧~~国内也有Typecho这样性能好又稳定的博客系统,PHP写的论坛也很多,比如Discuz!、PHPWind等。PHP写的CMS系统有PHPCMS,dedeCMS等。在网站中,PHP应用广泛到不行~
如果想入门PHP,题主提到的知识点,可以参考下图的学习顺序,来自实验楼
PHP研发工程师 学习路径。
1. HTML
1. HTML
网站制作的基础,浏览器打开任意一个网页,查看其源码都是看到的HTML。因为HTML是网站页面最终的表现形式。网站页面所有的内容都需要通过HTML展现,所以学习PHP必学的基础首先就是HTML,HTML很简单,它甚至都不能算做一门编程语言,而是一个标记语言。HTML就是一些标签,页面的内容就放在一个个标签里面。
2. CSS
学习了HTML,知道页面的内容是怎么展现的了。那么我们是不是可以把页面展现得更漂亮呢(毕竟这是一个看脸的时代~),平时我们看到的那些漂亮的网站页面,大多数都是通过CSS来美化的。CSS代码都是些样式属性,这些样式属性添加到HTML元素上面,对应的HTML元素的样式就会被CSS改变,学起来会很快,因为编写HTML和CSS可以直接在浏览器上面看到效果,非常有意思!
3. JavaScript
JavaScript会比HTML和CSS难一点,不过入门很简单,跟着教程练习学起来会更加顺利。如今JavaScript被炒得比较火(库和框架满天飞,用得最多的还是jQuery),不过学习好基础才是最重要的,正所谓万变不离其宗。学习建网站,当然就要勤动手,巩固好基础。学了JavaScript,对PHP中的很多概念也都明白了,因为编程语言里面很多东西都是相通的。
4. MySQL
对于MySQL数据库,可以先学习基础就行了,能够熟练地对数据库进行【增删改查】操作就够用了。等学习了PHP,再来对MySQL进行加深学习,这样会事半功倍。数据库并不像想象中的那么难懂。
5. LAMP
LAMP也就是Linux、Apache、MySQL和PHP。在实验楼的实验环境中,已经搭建好了LAMP环境,学习PHP的时候题主就不用浪费时间去折腾搭建环境了,可以先看看LAMP是如何协作的。在实验楼中开始实验,就会创建一个LAMP环境,而且可以长期保存代码。等PHP学习得差不多了,再来学习如何自己搭建LAMP环境并部署到生产环境,这时就不会觉得LAMP那么抽象。
6. PHP
入门了HTML、CSS和JavaScript之后,对于编程已经有自己的理解了,这时学习PHP会容易很多,至少知道变量、语句、函数、对象等等东西,学习的过程中也会自信很多。先学习基础课程实验,然后跟着实验楼多做一些小项目,实践出真知,加深对PHP的理解。这时再去看WordPress里面的代码,会发现大多数PHP代码都能看懂。想修改下WordPress主题什么的都是小case~。可以自己定制WordPress功能啦~\(≧▽≦)/~
以下是图中的课程地址,全部免费,可以边看教程边实操练习。
1. Web - HTML基础入门 2. Web - CSS速成教程 3. Web - Javascript基础(新版) 4. SQL - MySQL参考手册中文版 5. Linux - LAMP部署及配置 6. PHP - PHP编程语言
作为一名自己摸索着进入火坑,从事web开发多年,培养过无数bug,扼杀过无数bug,直至发苍苍,视茫茫,而立之年无娇娘。俺有话说:尽量先学习能使自己有成就感的。
PHP真是一种奇葩的语言,他会很乐意带你入门,等你学的差不多的时候,你会发现这时候你已经会了一堆幼稚园小孩般的语言,什么HTML,javascript,xml,sql等等,你也懂得了服务器端的配置和一些肤浅的系统知识。当你又学了一些其他的语言,比如c/c++,java,python,ruby等,突然有一天你会被php丑陋的外表吓得大汗淋漓,想要看看这丑陋的外表下到底是否有一颗美丽的心灵,你会看它的源码,结果你发现你对编译原理、数据结构这些都不清楚,你又会去看这些,当你正在愉快学习着的时候,公司打电话说服务器出问题了,你怀疑是配置问题,就又像个冒险家一样探索服务器,你又发现你想要很好的配置服务器需要对系统有个比较清楚的认识,你心爱的web服务器的系统十有八九用应该是linux,你找了好多关于linux方面的书,什么内核解析,网络协议实现原理..一只野生的金刚勇士诞生了。
网上有好多程序员“鄙视链”,似乎php处于比较低的档次,幸运的是那些鄙视链只是一部分大牛猿在写代码写的抓狂的时候相互攻击调侃放松的结晶,然后又被无知猿到处散播,至少我是这么认为的。编程语言只是一种工具,更多的是要加强自己的内功修养,每种语言都有自己适合的领域,你如果非要用钢锯来锯柴烧,还鄙视钢锯不如斧头,我是很乐意和这种人交朋友的。
HTML、CSS、JavaScript、PHP、 MySQL的学习顺序是什么?
没错,你列出的学习顺序非常正确。本人就是从小学习电脑最后自己建站的。D2CN就是我的。
HTML是网页标记语言,是浏览器能够阅读的语言。你如果想你的网页让别人能看到,就必须学习HTML。且不说你是否建站,只要你写的东西想要浏览器能正确显示出来,那就要懂HTML。
HTML的编辑工具倒是起点很低,MS WORD就可以做到。你另存为HTM文档,再用记事本打开,就能看到HTML代码了,很好理解的代码。买本HTML的书籍,一会就会。
会了HTML,也只是知道了网页编辑的入门。真正要建站,就需要了解CSS了。CSS中文名为“
层叠样式表 ”。简单来说,CSS严格意义上来说算不得一种语言,但它借用了HTML的标记方法,被嵌套在网页中。语法比较直接,多数是文档格式化名词。可以自定义格式类,也可以被外部调用(嵌套)。如果是外部嵌套,基本上你就快要用到建站知识了。但没关系,这些仍然还可以在你的本地电脑模拟,并不真的需要一个服务器。
JavaScript也是用HTML标记代号内嵌于HTML中的Javascript代码段,语法是Javascript语法。是因为HTML的功能实在受局限,多数是静态展示,没有互动能力。而JavaScript可以允许网页中使用一些特殊效果。早起的浏览器是不支持JavaScript的,但现在的浏览器没有不支持的。
感谢几位知友纠正我的描述错误。当时打字太急,措辞不当。感谢。
上述三种代码,都还只是基于浏览器端的解释运行,可以完全独立于服务器。你在本地电脑的一个文件夹里写好,也完全可以在这个文件夹里用浏览器玩这些东西而不需要服务器支持。
上面三种代码再厉害,做出来的页面也只是一个或者一些页面而已。如果没有程序或者数据库的支持,这些页面就算再漂亮也最终没法对外部数据请求产生大规模回应。这时候,就需要动态页面(Dynamic Webpage)的支持了。要实现Dynamic Webpage,就要用到Php或者Aspx这些动态编程语言,以下就按php说。
Php这些编程语言不能被浏览器执行,但是可以被安装了php解释插件的Web服务器软件(比如Apache)运行。通过服务器端的运行,按照程序设定,向客户端浏览器发送结果。结果可以是被HTML化的页面。换句话说,服务器端在运行php程序,但在客户端,你只收到了一份html页面,这样你就在你自己的浏览器上看到了服务器端想给你看的内容。这个动作是可以交互的,你可以向服务器提出你的要求,服务器根据程序编制,返回给你特定的HTML内容(含Javascript和CSS)。可以是数据库里的内容,也可以是其他类型的内容,只要php能够实现。php的语法结构还是比较像C或者Java的,只要有点编程经验,理解Php不难。
有了php,仅仅依靠php那点语句是做不出什么动态网页的,一般都要搭配数据库,也就是你所说的Mysql了。Mysql只是常见的数据库系统之一,在类UNIX系统上是免费的,性能也不错,所以用的人比较多。很多商业网站为了避免版权纠纷和成本考虑,都使用类UNIX系统的服务器搭配Mysql。
Mysql不能说是个语言,它只是一种数据库系统而已。Sql是数据库业界基本标准化的数据库服务器访问查询语言,这个要学习一下才能编制出适当的查询。一般来说,以你的例子,在php中设置好数据库查询参数,并且写好查询语句,php服务器会向mysql服务器发出查询请求,mysql服务器会返回给你查询结果。然后php根据查询结果,经过适当处理,然后HTML标记化之后,返回给客户端浏览器,完成一次页面运行。
恭喜你,现在你看到Dynamic webpage了,就像你现在看到了我敲的这么多字,实际上已经被知乎存在了他们的数据库mysql里,而你点击我的答案标题,实际上是向知乎的服务器端发出了一个请求,这个请求被知乎的服务器收到,进行数据查询(可以是php进行这个查询),得到我这个答案,然后送给Apache服务器上的php进行处理,php得到这个结果,送答案的同时,也调出作者名称和资料给你看到并开始进行格式化(HTML)和美化(CSS+JavaScript)。而你点击别人的答案,也会得到同样的效果,但答案内容不同,这就是Dynamic Webpage的含义。
最后,你并不需要马上去了解怎样架设服务器。虚拟主机也很多。可以租一个先玩玩。但做好一个网站,上述这些语言多少还是要知道点好。
初学者也来回答一下。。。
半年前,为了一个比赛,开始学习HTML,CSS,JavaScript,三个一起学,当然,比赛结果可想而知,但是却激起了我学习Web的热情。
比赛结束后,开始正儿八经的学起来,当时跟着一个视频教程学习了最基础的HTML和CSS,JavaScript专门买了本书,写了几个页面,算是入了门。
但是做网站需要后端,查了查,Apache、PHP和MySQL三者关系不错,买了那本《PHP和MySQL Web开发》看了起来,知道了个大概。
然后着手于自己博客的建设,在自己电脑上搭建了个服务器环境,各种配置,刚开始的时候确实头大。写的差不多后,希望大家都能看到自己的作品(还是个半成品o(╯□╰)o),发现了新浪SAE,就将自己的博客放在了上面,没事可以戳一下:http:
http:// zjzhome.sinaapp.com 。
这时发现,半年已经过去了。。。。。。。。。。。。。。。。。。而且,发现路还有很长,各种知识朝你袭击过来》》》》》
------------------------------------------------------------------------------------------------------------------------------
看了下回答时间,这么长时间过去了,还是会有人关注到,就更新一下,之前写的太差劲。
HTML、CSS、JavaScript三者是紧密相连的,学习的时候差不多一起就行了,不一定非得把这个那个分开。前后交互ajax是需要后台的,php要学,如果想持久的存储点数据,又不想存文件那么简单,肯定要连数据库了。。。
再说下博客,自己重新整了下,比之前那个自我感觉好多了(以前那个有多差。。。)
最后打个小广告(更新的主要目的么):小群:319465338
HTML、CSS、JavaScript这三个学的差不多了建议可以试着学一下Node.js和Mongodb,不一定非要学PHP和MySQL
请问标题上的这些东西,是建设一个网站所需要的完整一套知识吗? 看你的需求了。你要建一个什么样的网站?
还有其他需要学习的吗? 还有好多可以学,但是只要建一个小网站的话这些够用了。还是要看需求。
怎样安排其学习顺序? 如果一定要一起学的话,先前三者一起学,再后二者一起学。
但是我不建议同时学这么多。一般来说搞网站的话要分前端(Front-end,负责给人看的那部份,HTML+CSS+JS)、后端(Back-end,负责服务器通信的代码,PHP 或者别的后端语言)、服务器运维(先不考虑,见下一问题),还有美工啊之类的,一个人搞会累死的,除非你真的很厉害。
刚开始的时候,前端和后端总要选一个的。每一个都是无底洞,进去就别出来了。找的到人的话可以考虑组个团队,一个人学前端一个人学后端。
听说还有个apache,好像是服务端软件,需要单独学习吗? 早期自己找个云主机比如说新浪云、百度云之类的,或者比较便宜的 PHP 服务器自己练习即可,没必要维护自己的服务器。后期建议了解一下。
同时学习,不分先后,而是以需求来导向。
是的,如果是以工作为目的,前后端有明确的分工。如果是做商业项目,一个人从前端到后端一条龙搞完会累死。
但学习的目的是不同的,不管你最后决定专注于哪个方向,全局的视野都会带来极大的帮助。
所以,确定一个项目,然后不择手段的去完成,见招拆招,按需学习,以项目用到的知识点为主线再扩展了解,这比先把各种教程读一遍,依然不能融会贯通无从下手要靠谱得多。
编程是武功,唯有动手才能融会贯通。
这些东西不是线性依赖而是网状依赖关系。现实中总是同时同步地学习的,在具体的项目中。
对于使用一个CMS来建站,首先你需要了解服务器方面的知识,因为CMS需要一个运行环境,当然初期你可以使用wamp这样的集成环境。接着你需要懂一门后端语言,比如说php,他可以帮助你修改一些模板。另外你为了让你的站变得更漂亮,你需要给你的网站做美化,那么你就得需要CSS和HTML方面的知识。如果你想你的网站变得更容易交互,你需要一些JavaScript知识,这样你可以处理一些交互。如果你现在对这些一无所知的话,CSS+HTML入门门坎低一些,可以先行,接着你可以整整PHP+MySql。