如何学习一个新的PHP框架
如今的PHP框架层出不穷,我不是这方面的专家,甚至不能熟练地使用其中的一种,所以我不做推荐,也不想讨论哪些算是框架哪些不算框架。这里我要讨论的是如何才能更快地开始使用某个新的框架。
首先你当然必须选择一个框架,比如ZendFramework、Cake、Symfony、atk、Yii、CodeIgniter、Solar、PRADO等。选择哪个呢?有些框架提供了非常好“step-by-step”入门教程,另一些则比较难入门了。
我很喜欢这篇文章:《学习一种新的编程语言所需做的练习》,但我因为已经很熟悉PHP了,所以这个方法不能用在学习框架上。所以我想列举一些类似的练习用以学习PHP框架。
如果你还不知道怎么使用框架,何不按照本文的练习来学呢?
1、你好世界(hello world)
这里练习的必要性我就不多作说明了。在一个新的框架上构建一个应用,在页面中显示“‘hello world”。当然,做起来不会那么简单。
2、计算器(calculator)
写一个简单的计算器程序,结合表单,对两个操作数进行加减乘除等运算,并把结果输出到页面上。你需要为每一种运算设置单独的动作,或者说方法(每个框架的叫法不一样),而且还要用到框架中的表单验证功能(如果框架提供了这一功能的话)。
3、留言板(guestbook)
让我们回到1998年——建立一个留言本程序,在页面上显示一个表单让用户填写,然后提交到这个应用程序里,继而存储到数据库或文本文件中(视你自己的情况而定),并把用户留言的内容显示到页面上。如果框架提供了创建HTML表单、对象模型或层等功能,就用上它们吧。
4、解析和分页(parse and paginate)
选一个RSS源或其他XML源,解析其中的条目并显示出来。同时添加一个分页的功能,让用户可以五条五条地浏览,并在页面的顶部或底部添加页码。如果框架里提供了这样的功能,就使用它吧。
完成以上的练习后,你应该就可以清楚地知道如何使用这个框架了,并能用它完成更复杂的工作,或是继续探索这个框架的其他功能。如果你还是不会用,或者花了很多时间来完成以上练习,那么我觉得这个框架不适合你,还是找些其他的来用吧。
记住,如果在使用框架的过程中遇到困难,记得去该框架的社区里寻求帮助。一个有这强大社区支持的框架会为你未来的工作带来很大帮助,同时也表明这个框架是个不错的框架。没有人希望在使用某框架后的六个月,框架的开发者就宣布停止开发,这就太气人了。
如何学习一个新的PHP框架的更多相关文章
- 如何着手学习一个新的PHP框架
如今的PHP框架层出不穷,名气也各不相同.如何快速掌握一种框架?看看本文吧~ 如今的PHP框架层出不穷,名气也各不相同.我不是这方面的专家,甚至不能熟练地使用其中的一种,所以就不作推荐了.这里我要讨论 ...
- Google C++测试框架系列入门篇:第二章 开始一个新项目
上一篇:Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest? 原始链接:Setting up a New Test Project 词汇表 版本号:v_0.1 开始一个新项目 ...
- Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程
Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...
- linux学习(1)——这是一个新的开始,加油吧少年
(一)自己简单总结 学会使用简单命令 Tab:实现自动补全功能 Ctrl+D:退出当前终端 Ctrl+Z:暂停当前进程 Ctrl+L:清屏 Ctrl+A:可以让光标移动到最前列 Ctrl+E:可以让 ...
- Snack3 一个新的微型JSON框架
Snack3 一个新的微型JSON框架 一个作品,一般表达作者的一个想法.因为大家想法不同,所有作品会有区别.就做技术而言,因为有很多有区别的框架,所以大家可以选择的框架很丰富. snack3.基于j ...
- go server框架学习之路 - 写一个自己的go框架
go server框架学习之路 - 写一个自己的go框架 用简单的代码实现一个go框架 代码地址: https://github.com/cw731/gcw 1 创建一个简单的框架 代码 packag ...
- 【Cocos2d-x for WP8 学习整理】(1)创建一个新项目
喜大普奔 10.1假期之前看到了一个很振奋的消息,就是随着Cocos2d-x 2.2的发布,WP8/WIN8有史以来第一次的合并到主版本了. 之前 V2 ...
- Python学习 - 编写一个简单的web框架(二)
在上一篇日志中已经讨论和实现了根据url执行相应应用,在我阅读了bottle.py官方文档后,按照bottle的设计重写一遍,主要借鉴大牛们的设计思想. 一个bottle.py的简单实例 来看看bot ...
- Mysql学习(一)添加一个新的用户并用golang操作Mysql
Mysql添加一个新的用户并赋予权限 添加一个自己的用户到mysql 首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码 ailumiyana@ailumiyana:~/ ...
随机推荐
- linux 文件在磁盘上的表示
基本构成 分区就是把磁盘像比萨饼一样切成大小一样的扇形, 当然分区大小不一样扇形的大小也就不一样 上下一串盘片中,相同半径的磁道所组成的一个圆柱型的环壁,就称为柱面 在柱面组中, 比较重要的两个结构是 ...
- Oracle计算两个整数的和与这两个整数的差与商
PL/SQL(Procedural Language/SQL)是一种过程化语言. PL/SQL都是以(BLOCK)块为基本单位,整个PL/SQL块分为三部分 1.声明(Declare) 2.执行(以B ...
- keyboard
一 按键驱动程序的简单实现 下面是基于中断和消息的按键驱动程序,其工作原理是:当应用程序读取键值时,会调用按键驱动程序的read函数,而我们实现的read函数检测完读取长度后没有直接读取键值而是等待按 ...
- linux内核中的get_user和put_user
linux内核中的get_user和put_user 在 内核空间和用户空间交换数据时,get_user和put_user是两个两用的函数.相对于copy_to_user和 copy_from_use ...
- Entity Framework Power Tools安装和使用
Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码. 大致来说,这个工具 ...
- iOS8中的UIAlertController
转: iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controlle ...
- SQL Server数据库文件存储目录转移
USE master GO DECLARE @DBName sysname, ) DECLARE @DB table( name sysname, physical_name sysname) BEG ...
- c++ std::string 用法
std::string用法总结 在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询.在网上摘抄一下总结一下,为以后的查询方便: string类的构造函数: string(co ...
- hadoop历史服务器配置问题
作者:sdjnzqr 出处:http://www.cnblogs.com/sdjnzqr/ 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者同意,必须保留此段声明:必须在文章中给出原文连接 ...
- 设置DIV隐藏与显示,表格滑动条
问题描述: 现在希望使用JS设置DIV块的显示与隐藏,当某一个事件触发是,自动显示DIV块,显示表格数据,但是要求表格显示滑动条 问题解决: (1)DIV块的隐藏与显示 如上所示, ...