我的web框架分析方法
2015-11-25 13:52
295 查看
从学习php 开始 接触过一些php的开发框架,这些框架可以用来快速的开发网站或者 api服务等,主要是基于http的开发,当然也可以用这些框架做的别的开发例如我就做过爬虫。
实际开发用到的 php框架 主要有 ci ,thinkphp , laravel 等。当学习了这些框架之后,需要抽象出一种可以快速学习其他类似的MVC的开发框架,例如 golang 的 beego ,Python的 webpy 等。
1.先说MVC
大部分做网站开发的框架都是MVC,如果是做 API 接口的开发 可能就没有 V 了。当需要快速学习一个框架的时候,理解MVC是前提。框架自身如何是实现MVC的最开始可以先放一放不必急于理解。
1.1 路由
我目前接触到的路由大部分是两种,单一入口或者多入口(通过一个类似route.php)。单一入口,就是所有的请求进来都是通过一个 index.php文件来分发的,然后通过类文件的命名可以很快的找到请求的是哪个类,哪个方法。基本上可以做到看url路径就知道调用的是哪个方法。多入口,是由程序员针对每一个请求 ,注册一个方法到对应的文件中的函数。
thinkphp 和 ci 采用的是 单一入口 , laravel 采用的是多入口。
1.2 模板
模板基本是就是 V 了,流行的模板引擎是 smarty ,通过看几个列子就可以明白如何调用的了,如何把后端的数据绑定到前端的。
1.3 模型
框架一般都会封装数据库的操作函数,增删改查之类的。这就是框架的好处,通过配置连接数据库的参数,几个简单的函数就完成了 增啥改查。
2. 公共方法
很多框架里面都很提供一些公共的方法给用户(使用框架开发的程序员)使用,例如 发送邮件的函数,数据库分页函数等等。如果开始接触一个框架的时候,碰到一些功能要实现,可以先找一下,看看 你要实现的功能 在公共函数里面是否存在。
3. 用框架做点其他的
框架不一定只用来做 web应用开发,利用它已有的方法,结合自己的项目需要,做点其他的也是很快的。例如我之前就用 CI 做过一个简单爬虫,结合 simple_dom_html 这个类做dom解析来获取数据,利用ci里面的数据库操作,完成数据的入口等,甚至还用到了一个php 分词 类,用来做,数据的去重处理等。
实际开发用到的 php框架 主要有 ci ,thinkphp , laravel 等。当学习了这些框架之后,需要抽象出一种可以快速学习其他类似的MVC的开发框架,例如 golang 的 beego ,Python的 webpy 等。
1.先说MVC
大部分做网站开发的框架都是MVC,如果是做 API 接口的开发 可能就没有 V 了。当需要快速学习一个框架的时候,理解MVC是前提。框架自身如何是实现MVC的最开始可以先放一放不必急于理解。
1.1 路由
我目前接触到的路由大部分是两种,单一入口或者多入口(通过一个类似route.php)。单一入口,就是所有的请求进来都是通过一个 index.php文件来分发的,然后通过类文件的命名可以很快的找到请求的是哪个类,哪个方法。基本上可以做到看url路径就知道调用的是哪个方法。多入口,是由程序员针对每一个请求 ,注册一个方法到对应的文件中的函数。
thinkphp 和 ci 采用的是 单一入口 , laravel 采用的是多入口。
1.2 模板
模板基本是就是 V 了,流行的模板引擎是 smarty ,通过看几个列子就可以明白如何调用的了,如何把后端的数据绑定到前端的。
1.3 模型
框架一般都会封装数据库的操作函数,增删改查之类的。这就是框架的好处,通过配置连接数据库的参数,几个简单的函数就完成了 增啥改查。
2. 公共方法
很多框架里面都很提供一些公共的方法给用户(使用框架开发的程序员)使用,例如 发送邮件的函数,数据库分页函数等等。如果开始接触一个框架的时候,碰到一些功能要实现,可以先找一下,看看 你要实现的功能 在公共函数里面是否存在。
3. 用框架做点其他的
框架不一定只用来做 web应用开发,利用它已有的方法,结合自己的项目需要,做点其他的也是很快的。例如我之前就用 CI 做过一个简单爬虫,结合 simple_dom_html 这个类做dom解析来获取数据,利用ci里面的数据库操作,完成数据的入口等,甚至还用到了一个php 分词 类,用来做,数据的去重处理等。
相关文章推荐
- PHP操作AD域入门(二)
- 中文分词器分词效果的评测方法
- What is the difference for delete/truncate/drop
- 401认证爆破工具
- LaTeX argmin argmax 下标使用方法
- URL解析与CI框架URL
- LaTeX argmin argmax 下标使用方法
- JS等比例缩放图片并构建图片水平垂直居中解决方案
- 有对话框时,偶尔会捕捉不到返回键
- UISwitch用法详解
- AFNetWorking框架简单使用
- 14.4.2 Changing the Number or Size of InnoDB Redo Log Files 改变 InnoDB Redo Log Fiels 的大小和数量
- Linux下数据库管理工具:DbNinja
- Android 万能适配器
- MySQL数据库参数调优方法
- CoordinatorLayout与滚动的处理
- 列表布局 dl dt dd格式
- Some projects cannot be imported because they already exist in the workspace
- JVM内存分配与回收策略
- eas服务器控制台的指令