这是最常见的内连接查询 select a.fielda, b.fieldb from a, b where a.id=b.id : 但问题是,popt,poval,pa这些都是 数据库 中没有的表啊 回答: popt, poval, pa是别名 例如这一句: select a.fielda, b.fieldb from asdf a, bvcx b where a.id=b.id a是 asdf 的别名, b 是bvcx 的别名. : 可是别名是怎么获取或者说怎么定义的 回答: 由用户自定义. 例如你想叫某人的 外号 , 你自己给他起外号就可以了 补充: select a.fielda, b.fieldb from asdf a, bvcx b where a.id=b.id select a.fielda, b.fieldb from asdf as a, bvcx as b where a.id=b.id from 表名 [as] 别名 [as]可以省略 : 请问下,用别名进行操作,有什么好处吗? 回答: 短 : 就这样啊... 回答: 呃..还有可以避免重复的名字出现 例如 select a.* from asdf a, asdf b where a.parent = b.parent and a.id=123 补充: 上例如果不使用别名就无法写where 子句 了
建议楼主看看这个 PHP程序员的分类http://bbs.php100.com/read-htm-tid-18707.html
我是初学者,但是我可以给你推荐一个网站www.php100.com里面有视频教程,也有比较深入的高级编程讨论,你不妨去看一看。
参考资料:www.php100.com
一个普通的PHP程序员,除了PHP本身的知识外,需要数据库的基本知识。 一个PHP高级程序员要掌握的知识除普通的PHP程序员知识外,至少还要学习JavaScript、Ajax、CSS和XML等方面的知识。 有一点编程基础学习PHP是比较容易的,首先学会配置编程环境,如果不会,可先找一些集成的编程环境练习。PHP与C语言非常接近,逐渐学习,由易到难。做出一个象样的东西大概快一点的三个月,慢一点的半年吧。
php基础要会,基本语法,面向对象,数据库设计对mvc框架熟悉例如 thinkphp,yii,Ci等拿thinkphp为例。假如你对thinkphp框架很熟悉了,并且能熟练应用了,然后仿照thinkphp框架 自己写一个mvc框架没有必要写的像thinkphp功能那么全,只要把核心功能写出来了就行了这个时候你会发现你的php水平会有很大的提高,差不多就达到了高级程序员了
我也是PHPer,但是具体怎么划分我也不太清除,按照我个人的理解是:初级:熟练搭建PHP环境,熟悉PHP函数,会写函数,写简单的类!中级:熟悉使用模版引擎,比如smarty!熟悉Linux开发环境,能使用框架开发,比如zend的!高级:可能就是框架结构方面的了吧!
高级php工程师可以往几个方向去发展:1.深度方向一个工程师要往高阶发展,必须同时强化几个技术能力:设计能力:懂得如何利用分层、面向对象、设计模式等设计组织代码编码能力:熟悉php语法特性,知道怎么用一两行代码代替初级开发者十几上百行代码。工程能力:学会如何快速构建工程,学会如何构建可读、可扩展性的工程,学会如何避免埋坑给后人,学会如何与人协作维护工程,学会如何保证工程质量,学会如何权衡利弊,学会如何在困难面前妥协。抽象能力:初级开发者通常会等到逻辑重复时再抽象封装(甚至怕拖进度或者懒惰而放弃),而高级开发者通常一开始写出的逻辑就为了以后的重用,并且深知一开始多付出的思考设计时间最终都会因为复用得到回报。很多开发框架就是一步步抽象/埋坑/优化而来的。架构能力:一个业务系统如何划分模块,模块之间如何协作通信,每个模块的技术选型如何做,系统细节如何规避问题等等。优化能力:学会如何评估、分析、提升系统性能。优化途径很多,产品功能优化、业务逻辑优化、基础技术优化、操作系统底层硬件的优化等等。2.广度方向php开发基本上离不开操作系统、存储、缓存、网络、webserver等等配套设施,因此这也是高阶必备技能。一旦业务系统出问题了,必须要能快速定位解决(不一定自己解决,但要知道找到哪个负责人来解决)。比如存储mysql,高级开发者会懂得利用索引、利用分表分库提高查询性能,懂得负载均衡和灾备提高性能提高可靠性(虽然是DBA的工作,但了解了有助于出问题时排查)比如缓存,高级开发者懂得如何有效且最大限度利用缓存系统提高应用性能。比如http,初级开发者往往只懂得http网络请求就只一去一回两个包,高级开发者会去深究网络七层模型、会深究http请求的各个环节(DNS、三次握手等等)比如web前端,学习如何依靠浏览器缓存、CDN缓存、压缩代码、合并文件等等提高前端性能,学习如何进行前端安全攻防。3,软素质懂得团队管理,项目管理,沟通技巧等等。
PHP 工程师 (PHP Programmar) 定义: 正在以PHP程序为主要工作,并正在进行新产品的研发.可以同时使用C+/perl等辅助提高PHP程序性能的人是PHP工程师. 描述: PHP工程师是. 特征: 1: 精通一种或多种linux. 2: 快速编写结构清晰,代码格式优美的PHP程序. 3: 能够进行框架级通用程序的研发. 4: 能够在程序开发初期就通过项目规划避免未来可能出现的性能瓶颈. 5: 能够使用框架/类库加速项目开发进度. 6: 有自己的代码库. 7: 能够胜任大部分服务器和部分服务器集群优化工作. 技术要求我就不说了.具体到PHP中级程序员之后,PHP程序员就开始选择发展方向进行分化了.能够到这一步的人,基本都对自己的职业规划有清晰的认识.目前国内此类人才奇少.关于其他: 1 PHP程序员从中级程序员阶段就开始分化,具体方向根据公司性质,工作条件,自己的兴趣等不一而同.因此需要擅长的详细技能也不太相同. 例如: 公司使用 joomla 构建网站, 这就要求程序员必须精通joomla. 如果公司使用自研CMS+discuz构建网站,这就要求程序员能够熟练进行DISCUZ的二次开发.强行要求程序员精通这精通那,意义不大. 到高级程序员开始.PHP程序员由于自己的职业经历.肯定会有自己的专攻方向,有人擅长大负载下程序开发优化,有人擅长项目快速开发.而到这个阶段,如果PHP程序员还需要看这篇文章规划自己的职业生涯.那么请自己列出自己擅长的PHP技术.并选择一种最擅长的技术专攻. 2 关于coder和programmar. 字面上理解第一个是编码员,第二个是程序员.实际因为国内名词的混乱.第一个大多以程序员称呼,第二个目前大多处于项目核心领导层面.故本文暂以工程师称呼. coder 是进行少量创新的,大量重复工作的人. programmar 是进行新技术摸索开发,并实际领导/带领大中型项目开发的人. 3 关于 C++ . PHP初期的语法(php3/4时代)和C几乎一样.我当初就是看一下午PHP速成+php手册入的门.但到一定深度之后.有些PHP的特性需要实际阅读PHP源码才能理解(相关文档不全或者不好找到).有些实际项目功能使用C++开发远比PHP效率高.比如我现在做的项目需要爬虫持续海量抓取,当带宽足够的情况时,纯使用PHP实现效率不高.所以必须使用C++. 所以C++到需要用的时候自然而然的就要用了.不过如果有C/C++的基础,学习PHP要轻松很多. 4 关于面向对象.面向对象还是很帅的,小型工程上使用意义不大,大中型工程可以极大的提升开发效率.在php4的时代对面向对象基本没有什么要求,但是现在需要完整掌握面向对象. 5 关于JAVA/Delphi 他们和php有关么? 我孤陋寡闻.请牛人指教.谢谢 6 关于软件工程. 软件工程是一个实际使用中才能学懂的学科.我才疏学浅,在大学的时候楞没学懂.等实际领导项目了.才慢慢的明白其中的含义与奥妙. 8 关于开发模式. 开发模式的好坏直接关系这项目开发的速度与项目的质量.初期死抠模式意义不大.建议有一定积累了再说. 9 关于名气. 嗯...怎么说呢?高端PHP圈子很小,也就那么些人.水平到了,自然就认识那些人了. 10 关于第三方库,初期学习掌握一些,比如smarty.到一定阶段需要决定到底是精通第三方库还是使用自行积累开发的库.总的来说,由于第三方库大多是外国人开发,所以国内想要时刻紧跟比较被动,phpBB中文的没落便是一例.如果使用自行积累开发的库,难度较大,要注意通用性和可扩展性. 11 关于英文. 这个是废话.最低要求是流畅阅读英文文档.
参考资料:http://bbs.chinaunix.net/viewthread.php?tid=1023017
1.掌握语言本身的语法,熟悉常用类库是必须的; 2.面向对象最为当今的主流也是必须掌握的; 3.常用设计模式必须掌握,设计模式是前辈的总结、经验; 4.php常与数据库配合使用,而且首先为mysql,所以mysql必须熟悉; 5.php是做为一种web开发语言而流行的,所以浏览器中的javascript必须会,虽然现在很多公司有专业的javascript工程师,但是php程序员js也是必须掌握的; 6.html/css必须会,不要求你会切会div+css,但是至少要知道,因为php是一种嵌入html中使用的语言(当然php也可以用于桌面等其他,但是和web(html)结合才是它流行的原因); 7.linux不需要会,会的话肯定更好,一般公司都有专门服务器管理人员的。但是你要会在vi下进行编程,这时候就不像在ide下那么好了,你应该尽量熟悉类库。