今天看到一个有意思的问题:seo和php哪个值得学从大方向考虑seo属于营销类范畴,php则属于编程类范畴,其不再一个对比面上。万物总有联系,seo与php是有很强的关联的,诸如很多的建站系统都是php做的,做seo的时候懂得php会提高工作效率;如果懂php,则在建站过程中需要融入seo元素,当然了,php不止是运用于网站,还有多种作用。
学习seo也好,学习php也罢,都是有前景的。但有一个前提:那就是行业技能的高与低,任何行业,没有更强悍的技能,说多了都是无用。在此再次说明:seo和php没有哪个更值得学这个说法,只有哪个更适合学这个说法。
关于如何学好seo的问题,seo教程自学网抒写过大量的相关文章,包括但不限于如下内容:seo该学些什么seo怎么自学学SEO需要多久
关于如何学好php,有如下建议:如何学好PHP(看到别人的写得还不错)
一些共性问题,大致是:
1. 应该怎样学习PHP,学习的顺序是怎样的
2. PHP学好后,可以做什么事情
3. 听得懂课,但是一旦自己独立写程序,就没有思路
4. 学习PHP需要怎样的基础,算法重要吗
首先,大家要达成一个共识,就是学习任何一门编程技术都需要我们付出心血,都要讲求循序渐进,由浅入深。对 每一个知识点要搞透,然后通过案例来加深认识,最后还需要把学习到的各个知识点实际运用到项目中去,才能融会贯通,最后才能到达能自如的驾驭项目的水平, 现在我们就来看看应该怎样一步一步的学习PHP这门编程技术,先看看学习PHP的顺序图,此学习顺序图是我推荐的学习内容和学习顺序(除了这里列出的内容,要走向高手之路肯定还有更多技术需要学习,我这里只是对于初学者列出的主干学习内容,并不是全部):
PHP应该学什么,如何学好PHP(一)
对于PHP初学者来说,看到这样多的内容,心里已经开始打退堂鼓了,但是,万丈高楼平地起,我们只要坚持每天学习一部分内容,最后总会把这些技术都精通掌握的。
PHP这门技术相对java和 .net来说,是比较简单的。PHP最主要的作用就是做站,也就是说PHP技术是用于开发网站的,比如目前世界排名前40的网站,有70%都使用到了PHP技术,比如 facebookyoubute 新浪百度淘宝搜狐和腾讯这些知名的网站都有很大一部分业务是用PHP来开发的,因此被誉为web开发首选技术。开发PHP的软件可以说是简单的记事本也可以是一些集成开发软件,比如 zendstudio ,这里我列举一些常见的PHP开发工具:
① Editplus ② Zend Studio ③ PHP Coder ④ phpedit ⑤ easyecpilse ⑥ dw ⑦ vim
windwos下我常用的是 editplus 和 zend studio ,在linux下我推荐使用vim来开发更专业。
要学习PHP开发一定要按照正确的顺序进行学习(如上图PHP学习顺序图所示),很多人被一些《xx天精通***》这样的垃圾书的影响,PHP这门语言相对JAVA要简单,开发人员不需要学太多即可通过面向过程的方式开发出一个”某某管理系统”,因此社会上充斥着大量只会面向过程的开发人员,他们不懂Http协议!不懂JavaScript!不懂PHP工作原理!不懂什么是真正的面向对象程序设计,这种”不不不”开发人员能找到4000的工作 就已经非常值得庆幸了。企业中最需要的是对”Http协议JavascriptPHP工作机制PHP程序调优LAMP环境调优OOP”等技术熟悉的人,而这样的人是非常难招的。大家记住欲速则不达,速成的结果就是以后浪费更多的时间,回想这么多年你走过的路,有多少次为了走快点就跳着走,最后又浪费时间返工的事情,按照正确的顺序才能更快更好的掌握PHP。
学习PHP分为以下几个阶段,每个阶段都有学习的重点和注意事项,下面详细给大家介绍:
第一阶段: PHP前端网页开发基础,在这一个阶段中分为以下几个阶段课程
(1)HTML基础与加强
HTML语言,HTML语言背景知识,HTML全局标签,HTML格式标签,HTML文件标签,HTML超链接标签,HTML图像标签,HTML框架标签,HTML客户端图像地图,HTML表格标签,HTML帧标签,HTML表单标签,HTML头元素,HTML分区标签
(2)XHTML基础与加强
XHTML与 HTML的差异,XHTML语法,XHTML DTD,XHTML验证,XHTML模块,XHTML属性,XHTML事件,XTHML结构化
(3)HTML5设计与应用
HTML5介绍,HTML5多媒体处理,HTML5画布,HTML5 Web存储技术,HTML5表单,HTML5 属性和事件HTML5的常用标签(比如:applet标签article标签aside标签audio标签canvas标签datalist标签details标签等)
(4)CSS基础与加强
CSS 简介,CSS基础语法,CSS 派生选择器,id 选择器,CSS类选择器,CSS盒子模型
CSS背景 文本 字体 边框 外边距 内边距 列表 表格CSS 高级: CSS 尺寸分类 定位 伪类 伪元素 媒介类型
(5)DIV+CSS设计与应用
使用知名网站的首页深入剖析DIV+CSS的WEB标准:盒子模型经典案例-优酷首页面仿sohu首页面布局可爱屋网站首页面。涉及知识点包括: (CSS定位的四种方式左浮动右浮动清除浮动标准流和非标准流设置对象的层叠顺序块元素和行元素的转换等)
(6)Javascript基础语法:
Javascript基本介绍Javascript的发展史Javascript运行原理剖析Javascript特点
Javascript的标识符Javascript基本数据类型(数值类型布尔类型字符串类型)
Javascript复合数据类型简介(数组对象)Javascript特殊数据类型(NULLundefine)
定义变量初始化赋值数据类型转换的两种方式(自动转换强制转换)Javascript的运算符(算术运算符关系运算符逻辑运算符)Javascript的位运算和移位运算
(7)Javascript三大流程控制
顺序控制分支控制(单分支: if语句双分支: if-else语句多分支 if-else if-else 语句, switch-case-default语句)循环控制(for语句while语句do-while语句)在ie和firefox如何调式Javascript
(8)Javascript函数
函数基本概念函数的定义函数的调用方式及调用过程深度剖析函数使用细节讨论使用Function类创建函数函数实际运用(打印金字塔九九乘法表)函数的递归调用
Javascript常用系统函数使用(encodeURIdecodeURIevalparseIntparseFloatisNaN等)
(9)Javascript数组
数组的基本使用使用for/while遍历数组数组实际运用(计算班级平均分)二维数组的基本使用使用for遍历二维数组对二维数组转置处理数组排序介绍冒泡排序顺序查找和二分查询法
(10)事件驱动
Javascript的Event-Driven机制事件源事件处理程序事件名称事件对象是什么
事件类型(鼠标事件键盘事件HTML事件其它事件)Javascript访问CSS技术
事件驱动的浏览器兼容性处理常用的18个事件(onbluronchangeonfocusonkeydownonmousedown等) 综合案例(Javascript版计算器)
(11)DOM编程
DOM编程介绍(HTML DOM与XML DOM)DOM编程实例入门BOM介绍DOM对象介绍window对象详解history对象详解location对象详解navigator对象详解screen对象详解event对象详解document对象详解body对象详解style对象详解WEB版坦克大战游戏forms对象(集合)from对象images对象(集合)img对象links对象(集合)link对象all对象(集合)table对象详解tableRow对象和tableCell对象基于table对象的用户管理系统
(12)WEB网站设计与应用->商业级网页制作
我曾经这样说过一句话:有些朋友学习技术,像一个大胖子,肚子大,脑袋大,看起来很唬人,但是腿很细,风一吹就倒了。就是说基础太差了,结果就是越学越迷茫,最后,就放弃了。因此我说”基础很重要” , 还有一点我要强调:在视频教程中我讲了很多的案例并布置了作用,一定要自己亲手把代码熟练的写出来,记住是亲手写出来,而不是照着我的代码抄,更不能是看懂了我的代码就以为自己掌握了,要知道“看懂了”和“会写了”之间差着十万八千里呢! 我们学习编程是”做中学”,是做的过程中学会的,而不是会了在做,正是在编写一行行代码过程中,逐渐建立编程思想的,思想→代码 这个过程是需要敲很多代码的。
29.jpg
用卖油翁的一句话说:“我亦无他,但手熟尔”,请永远记住“巧是从熟练中演变出来的”,这就是我们常说的“熟能生巧” 。
第二阶段 PHP核心编程
(1)PHP基本语法加强
Apache– directory配置段一个IP和多个域名绑定的两种方式HTTP协议入门介绍Apache逻辑组件介绍Apache生命周期PHP运行之时 序图PHP数据类型加强PHP各种运算符加强PHP三大流程控制加强位运算(按位与按位或按位异或按位非位左移位右移)二进制(原 码反码补码)PHP版本在线贷款计算器。
这里,我想说明一下: PHP基础语法看似简单,但是也不可大意,有些PHP程序员工作了2年,对PHP运行的原理都不清楚,对Apache的一些重要调优配置也不了解,这样的程序员,在公司是不行的,很难得到提升。所以就一直是一个编码工人,薪资也上不去。
比如面试中经常问到: PHP中一个整数的范围是多少, 小数的能表示的范围是多少 再比如如何在Apache中配置一个404错误页面,如何给一个主机配置一个域名,具体怎样操作这样一些基础的问题都必须在这个阶段搞定。推荐大家看 传智播客php视频教程 23讲-45讲 ,有详细到位的讲解。
(2)PHP函数
PHP函数的基本介绍如何自定义函数PHP页面调用函数require()require_once()include()和include_once()的区别从内存分析PHP函数调用过程函数使用需要注意的细节函数值传递和引用传递的区别。
函数是我们PHP编程最重要的一个知识点,也是进行模块化编程的基础,掌握好函数可以提高代码的复用性可读性和可维护性。
(3)数组排序和查找
数组 的基本概念数组的引用方式数组引用陷阱与PHP数组相关的函数(countis_arrayprint_rexplode等)遍历数组的三种 方式删除数组元素和数组运算符数组使用细节总结内部排序法和外部排序法介绍冒泡排序和快速排序选择排序和插入排序顺序查找和二分查找二维数 组介绍和使用。
依据 我的经验,我们去找工作的时候,一定会一道关于排序和查询的题,最常见的问题是: 请你写出冒泡排序法,并使用二分查找来查找一个数。在项目开发中,数组是衔接变量和函数的重要数据类型,在MVC开发中,往往需在控制器中将数组分配给视 图去显示,在算法中,数组也是变化最为灵活的。
(4)面向对象编程
面向 对象编程基本概念类和对象的关系如何定义类成员属性(变量)如何创建对象实例及如何访问对象属性对象在内存中存在的形式栈堆全局区常量 区和代码区的关系成员方法(函数)及使用细节构造方法(函数)默认构造方法(函数)this的基本概念和使用析构方法(函数)PHP的对象垃 圾回收器静态变量(类变量)的概念和使用静态方法(类方法)的概念和使用面向对象编程的三大特征介绍面向对象编程-封装面向对象编程-继承面 向对象编程-多态访问控制修饰符(publicprotectedprivate)方法重载(overload)方法重写 (override)方法重载(overload)和方法重写(override)的比较PHP魔术函数(__set __get __construct __destruct __call等 )和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等 )抽象类(abstract class)的概念和使用接口(interface)的概念和使用接口编程和继承的区别关键字final的使用常量关键字const 的作用和使用注意事项面向对象编程之强大的反射机制面向对象编程之动态代理。
面向对象编程已经成为PHP编程的主流,面向对象编程让程序变得更加强大和灵活,更利于项目的开发和维护。关于面向对象编程 在 传智播客 php视频教程 61讲-78讲,看看什么才是真正的PHP面向对象思想,什么是真正的OOP。
(5)错误处理和异常处理
错误处理的基本概念PHP处理错误的三种方式介绍使用die()进程错误处理自定义错误和错误触发器错误日志错误级别介绍PHP异常处理的基本介绍PHP异常处理(try throw catch)自定义异常如何设置顶级异常处理器异常使用的规则。
在编写php web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门 。所以大家需要清楚在PHP编程中如何对错误和异常进行有效的处理,从而保证程序的安全和健壮。
(6)预定义超全局数组
预定义超全局数组-基本概念$_GET$_POST$_REQUEST$_SERVER$_ENV$_FILES $_COOKIE$_SESSION$GLOBALS$_GET 使用陷阱(sql注入和中文乱码问题)
(7)cookie和session
什么 是会话cookie的基本概念cookie的curd操作cookie重要的api介绍cookie运行原理图解cookie的实际运用(显示 用户上次访问时间显示用户上次浏览过的商品)cookie使用的注意事项session数据存放的位置和形式session的curd操作 session运行原理图解session实际案例-在线购物车IE禁用Cookie后的session处理方案session防止用户非法入侵 session配合验证码使用php.ini 中关于cookie和session配置说明(重点,难点)自定义会话处理器Session和Cookie的区别。
Cookie(小甜饼)是客户端技术,服务器把每个用户的数据以cookie的形式 写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。
Session 是服务器端技术,利用这个技术,服务器在运行时可以为每一个用 户的浏览器创建一个其独享的session文件,当用户再去访问服务器中的其它web资源时,可以从用户各自的session 中取出数据为用户服务。Session和Cookie是最重要的用户行为跟踪技术,尤其是电商,sns项目中运用广泛,因此是我们学习的重点和难点,也是 面试笔试的重点。关于cookie和session大家可以参考传智播客 php视频教程 114-121讲
(8)PHP文件编程
文件及文件编程是什么文件流的基本概念文件的操作方式PHP文件编程函数汇总介绍最常用的13个文件函数使用文件完成网站计数器文件上传下载操作-mini版音乐共享网无限级文件扫描器。
文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频 ,声音…,本章节要求同学们掌握文件的各种操作和上传下载,动态创建和删除目录,文件和无限级扫描文件等, 掌握好这些知识点对我们项目开发非常重要。
(9)PHP绘图技术
php绘图坐标系绘图步骤说明绘图快速入门绘图最常用的函数绘图技术的实际运用—人口分布饼状统计图专业的报表开发–JpGraphJpGraph的安装和配置JpGraph实际应用-网民支持情况统计图JpGraph中文乱码处理。
如果 你使用过财务软件,那你一定看见过各种对财务数据进行统计和分析 的图表,可能是表格,也可能是饼状图柱状图曲线图..,简单的说,就是使用图表动态显示数据。而这些图表的显 示都要使用到PHP的绘图技术,绘图技术要求熟练的使用PHP的绘图函数完成项目的需求。能开发一些统计图,非常有实用价值。比如:
6.jpg
如何检验自己的学习效果,看看下面的一些面试题 , 看看能完成多少 如果能正确完成80%,说明这个阶段学到还不错。
练习1: 简述echo(),print(),print_r()的区别
练习2: 说出PHP的超级全局变量数组,共九种
练习3: 如何在一个php函数中使用具有全局属性的变量,说出两种方式
练习4: 三个小题:
4.1.跳水比赛,8个评委打分。运动员的成绩是8个成绩取掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是最后得分。使用一维数组实现打分功能。
4.2.请把打最高分的评委和最低分的评委找出来。
4.3.找出最佳评委和最差评委。最佳评委就是打分和最后得分最接近的评委。最差评委就是打分和最后得分相差最大的。
练习5: include和require都能把另外一个文件包含到当前文件中,他们有什么区别Include和include_once又有什么区别
练习6: 写出一个能创建多级目录的PHP函数
练习7: 写出一个函数,能递归列出某个目录下的所有文件夹和文件名.
练习8: 在防止SQL注入的时候,通会把单引号双引号等转义,需要用到哪个函数
练习9: 写出插入排序法和快速排序法代码
练习10: 二分查找的原理是什么 请写出二分查找函数
练习11: 写出php的publicprotectedprivate三种访问控制模式的区别
练习12: 请写出一个完整的严谨的单例模式
练习13: __set 和 __get 魔术函数是做什么的,在什么时候被触发
练习14: 如何防止对象克隆, 对象克隆会复制 static属性吗
练习15: 说说strip_tags的作用和用法
练习16: 如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理
练习17: 如何控制多个进程去并发删除,插入和更新数据库的某张表
练习18: PHP的安全模式和非安全模式的区别
技术就是一层窗户纸,捅破了,你感觉没有什么,不就是这么简单吗可是如果你不知道,就感觉很神秘,因此你了解的知识点越多越底层,就可以让你的项目更有技术含量。
反过来,如果我们知道很多知识点,但是不会把知识点灵活的运用到项目中,就成了 中的段誉,空有无穷的内力,就是不知道如何运用。所以,学会做项目,做规范的项目也是非常重要的
第三阶段:Mysql数据库编程&中级项目阶段
(1) MySQL数据库
从 目前看,任何一个有商业价值的项目或者网站,都离不开MySQL数据库, 因此系统深入的掌握MySQL数据库各种操作非常重要,重点是围绕ddl/dql/dml/dcl/dtl学习。同时要学会在项目中如何设计出有商业价值 的数据库模型的技巧,并初步了解到MySQL的优化细节。作为一个合格的PHP程序员,我觉得以下知识点是必须要掌握的:
MySQL 数据库的三层结构MySQL数据库的安装和配置数据库命令行的常见操作(启动连接操作关闭等)SQL语句分类(ddl/dml/dcl /dql/dtl)创建查看删除修改备份和恢复数据库如何创建表及MySQL数据类型详解修改删除表操作如何对数据表进行CRUD操 作select语句中使用orderby合计函数(count/sum/avg/max/min)select语句中使用group by 和having子句时间日期常用的10个函数字符串相关11个函数数学函数10个流程控制函数3个其它函数4个MySQL中文乱码处理 PHP操作数据库实例MySQL表类型和存储引擎(BDB/HEAP/ISAM/MERGE/MYISAM/InnoBDB)如何选择表的存储引擎 事务的基本概念事务和锁事务提交和回滚操作PHP程序中如何使用事务事务隔离级别表的主键和外键多表联合查询和笛卡尔集自连接单行子查询 和多行子查询蠕虫复制创建海量表合并查询(union , union all,intersect , minus)表的内连接和外连接(左外连接右外连接和完全外连接)维护数据的完整性-约束(not nullunique, primary key,foreign key,和check )商店售货系统表设计案例索引(主键索引/唯一索引/全文索引/普通索引/复合索引)索引优缺点分析触发器和存储过程
(2)数据库编程(mysql mysqli pdo)
mysql 扩展库简介mysql扩展库操作mysql数据库程序mysql_query()执行结果释放资源和连接对mysql数据库进行CRUD mysqli扩展库简介第一个mysqli扩展库程序$mysqli->query()执行结果mysqli对数据库进行CRUD操作 mysqli扩展库增强–批量执行sql语句mysqli扩展库增强–事务控制事务的acid预处理 MySQLi_STMTPDO的介绍和使用
(3)中级项目
看十遍,不如自己实际动手做一个项目。项目经验就是从一行行 代码中积累的,编程的能力也是通过攻克一个个程序bug提高的。中级阶段项目是把前面学习过的知识点实 际运用到项目中的最佳时机,也是检验自己学习成果的时候。当你通过熬夜点灯,网上查资料把项目最终完成时, 经历了项目从无到有,从有到完善时,你的编程能力,把控项目的能力在潜移默化中提高了,为学习下一个阶段 (PHP高级编程)打下扎实的基础。我推荐几个项目给大家,大家可以根据自己的实际情况选一个项目来做.
BBS系统: 为互联网用户提供互动和交流功能。
网上在线支付: 为互联网客户提供在线支付功能,可立即应用于项目中
及 时雨供求信息共享网: 及时雨供求信息网主要用来为用户提供信息服务,对于生活和工作中的各类 信息都应尽可能地全部包括在内,例如,公寓求职招聘培训招商房屋车辆出售求购等信息。项目 发布后,要实现能够为用户生活工作带来极大地方便并提高企业知名度为企业产品宣传节约大量成本的目标。 及时雨供求信息网的主要目标是提供强大的搜索功能,准确的信息定位描红功能,付费信息的管理免费信息的审 核和删除功能。
oa 无纸办公系统: oa无纸办公系统是针对中小型企业内部自动化办公管理的要求进行设计的,实现了 文件类信息的强大的管理能力;对员工基础信息(人事消息)的管理功能等;个人办公的信息自动化管理功能;发 布会议信息,并对会议信息进行管理;对系统用户进行管理;为了加强数据保密性,为每个用户组设置权限级别。
大 网电子商城: 将电子商城给普通用户提供如下功能:购买商品用户个人资料管理及订单查询 等功能。用户在未进行登录时,只可以查看商品的详细信息及公告信息,登录后可以执行购买商品操作对商品进 行评论及管理个人资料。管理后台实现: 商品信息商品类别信息用户信息订单信息公告信息及评论信息进 行管理,用户可通过相应的功能按钮,进入相应的页面,对信息进行管理。
襄助网络SEO研究社总结:
学习seo或者学习php,或者同时学习两种技术,都是值得的,前提是是否有必要的时间投入,是否有兴趣。