我想成为一名PHP/MySQL程序员
我必须知道哪些技术?
喜欢:
构架
集成开发环境
模板引擎
Ajax和CSS框架
请告诉我必须知道的最低要求,并告诉我你在上一个清单中最喜欢的东西?
谢谢
首先,没有必要知道学习PHP和MySQL ......你进入它不知道什么,你会知道一堆.如果必须知道,那么没有人能够进入PHP和MySQL开发.我个人认为你在不了解它的一切的情况下处于一个微小的优势.它会给你一个全新的视角,并在盒子外面思考:)
至于这个线程中面向对象的东西,它是真的.但是,正如其他人所说,完全取决于程序员(你)决定如何编写代码.您可以使用面向对象的实践,创建意大利面条代码连接,或者恰好使用一堆函数,或者其他任何东西.无论哪种方式,正如其他人一直在说的,这取决于你:)
IRC频道:
真的不需要这个,但我发现它很有用......在这里见到你:)
irc.freenode.net #php
手册:
手册是你的朋友,可能是你在潜水前唯一应该知道的事情.
http://www.php.net/manual/en/
http://dev.mysql.com/doc/refman/5.0/en/apis-php.html
构架:
确保它是一个MVC框架:)
http://www.cakephp.org/
http://www.phpmvc.net/
http://www.codeigniter.com/
http://www.symfony.com/
http://www.laravel.com
http://www.yiiframework.com/
IDE:
什么最适合你:)
http://www.eclipse.org/
http://www.vim.org/
http://www.zend.com/en/products/studio/
http://php.netbeans.org/
https://www.jetbrains.com/phpstorm/
模板引擎:
PHP是一个很好的模板引擎
模型视图控制器框架有助于此
twig.sensiolabs.org
http://www.smarty.net/
阿贾克斯:
http://jquery.com/
http://www.mootools.net/
http://developer.yahoo.com/yui/
http://www.prototypejs.org/
http://www.extjs.com/
http://code.google.com/webtoolkit/
https://angularjs.org/
CSS:
http://www.yaml.de/en/home.html
http://code.google.com/p/blueprintcss/
http://developer.yahoo.com/yui/reset/
绝对不是一个详尽的清单,事情不断变化......但是,这是一个开始:)
玩得开心!
Chrelad
在允许发布可在互联网上公开访问的代码之前,安全性是每个网络程序员应该研究的重要主题.
安全问题的例子:
注射缺陷
跨站脚本漏洞
跨站点请求伪造
在编写PHP应用程序时,您应该了解并记住更多安全问题.网站http://www.owasp.org包含许多有用的信息.
PHP是我的第一语言,在我10年前的第一份工作中担任办公室初级时,我学到了这种语言.以下是我的经验:
下载PHP手册,将其打印出来,然后从第一页开始阅读.一直走到最后.略过一些你可能不需要的东西(比如使用KADM5或Hyperwave),但总是阅读介绍,这样你才能知道PHP的功能(这样可以省去你试图重新发明轮子).PHP文档打破了我从事过的所有其他语言的文档.
下一步; 设置PHP.手动.不要使用XAMPP或其他任何东西,自己动手.了解环境的设置总是有帮助的.
不要在开始时使用IDE.了解一种语言意味着要近距离接触.IDE会模糊一些东西,试图帮助你GetThingsDone,当你知道自己在做什么并了解你的目标环境时,它会很有效,但是当你刚开始时,它们只会妨碍并隐藏重要的东西.
一开始也不要打扰框架.再一次,他们会帮助你GetThingsDone,只有当你知道自己在做什么时才会工作.从基础开始,否则你将学习框架而不是PHP.
PHP本质上是一个高级模板引擎.不要陷入过度炒作"PHP模板引擎"的陷阱.他们正在做PHP已经做的事情,加倍工作,运行速度是PHP的两倍.坚持使用内联html/php开始.再次,这将帮助您了解PHP是什么,它是如何工作的,以及何时使用它.
与AJAX和CSS一样......它们与PHP无关,而是使用PHP生成的输出(以及使用AJAX输入).不要一次性吃太多的盘子.从普通的PHP + HTML开始,手动完成CSS.然后,当你开心的时候,混合一点javascript.
你可以用任何语言做的最好的事情是学习你将要工作的环境,因为编程在所有这些环境中都是(相对)相似的.它们都有循环,数据结构,输入/输出等,但它们的工作方式略有不同.
不要相信炒作.我现在正从PHP转向Python,我可能只是跳过Django乐队的车来到GetThingsDone,但我知道如果我遇到一个问题,我不知道从哪里开始修复它.所以我从一开始就采取自己的建议; 阅读手册,设置测试系统,解析简单文件,获取输入/输出,将其链接到Web服务器......了解我的新环境的所有部分.
每个PHP程序员应该知道什么?
您需要知道不是PHP的语言.我不是说你不应该用PHP开发你的网站,它实际上非常好,但你真的需要知道至少一种其他语言来获得一些观点.
为什么?PHP破碎,充满了糟糕的设计和错误.你可以在PHP中编写优秀的代码,但是如果你不知道更好的话,你将永远无法发现PHP本身的糟糕设计和失败.
我建议使用python,ruby或C#
PS:如果你认为这不是一个有用的建议,那么无论如何都要降低这个答案,但是如果你因为我觉得PHP被破坏和设计糟糕而感到受到侮辱,那么就不要贬低它,不要拍摄信使,我我只是说实话!
首先,PHP本身就是一个模板系统
安全.
就像Lucas Oman所说的那样 - 用PHP编写好的代码取决于你; 它并没有让你烦恼.如果你不明白为什么你需要确认注销,或者为什么你不能只是在javascript中验证,或者为什么register_globals是坏的 - 你的应用程序将以某种形式或其他形式易受攻击.
您需要了解以下内容(我建议按此顺序):
基本的面向对象原则(例如继承,多态和封装)
PHP语言本身.具体来说,PHP 5.
数据库设计原则,如表,键,关系,规范化等.
SQL - 结构化(或标准永远不会记住哪个)查询语言.具体了解选择,插入,更新和删除查询的基础知识.
良好的设计原则和编码实践(您可以在StackOverflow上找到这里的帖子),例如划分表示和业务逻辑.
框架,任何框架 - 这将帮助您了解面向对象设计模式的更高级概念,并允许您遵循鼓励良好设计和编码实践的教程.
面向对象的设计模式,如MVC,数据库抽象模型等
高级SQL和其他数据库内容,如触发器,存储过程和其他功能.
忽略mysql_*函数.它们不仅没有提供编写安全代码的直接方法,而且如果你尝试的话,它们实际上会不遗余力地让它变得痛苦和乏味.使用mysqli或PDO(现在你没有任何借口 - PHP 4是几个月前的生命终结).
所有好的答案,但有一些重要的缺失:如果你想认真进入PHP,那么你应该意识到有很多PHP程序员在那里懒惰,无能,无知,误导,不幸的是他们的代码被释放对公众.PHP的历史意味着它支持一些有问题的功能(不仅像register_globals这样的东西,还有像自动初始化这样的小东西),人们仍然使用它们.你不想.
我想说最重要的是要了解如何使用PHP构建页面的整个过程 - 请求来自客户端(Web浏览器),点击Web服务器,然后传递给PHP,然后生成响应发回来的.对此的充分理解将为您奠定基础
为什么在输出开始后你不能发送标题
会话和cookie如何工作
如何以无状态方式构建每个页面(即提供请求的任何内容,不记得上次发生的事情,或猜测用户正在做什么)
HTML,PHP,JavaScript和CSS之间的区别,更重要的是,每个主要用于什么以及各自的责任在哪里.
一旦你把它弄下来,那么你应该对编写任何应用程序都很满意.但除非你已经把它弄下来,否则你会开始混合一些东西,就像我之前见过很多新手一样.