├── .gitignore ├── protected ├── tmp │ └── index.html ├── .htaccess ├── controller │ ├── admin │ │ ├── BaseController.php │ │ ├── MainController.php │ │ └── LoginController.php │ ├── MainController.php │ ├── BaseController.php │ ├── OtherController.php │ └── DbController.php ├── model │ └── User.php ├── view │ ├── db │ │ ├── inner.html │ │ ├── delete.html │ │ ├── update.html │ │ ├── create.html │ │ ├── execute.html │ │ ├── query.html │ │ └── find.html │ ├── custom_page.html │ ├── layout.html │ ├── other_tpl.html │ └── main_index.html ├── config.php └── lib │ └── speed.php ├── index.php ├── i ├── img │ ├── glyphicons-halflings.png │ └── glyphicons-halflings-white.png ├── css │ └── bootstrap-responsive.min.css └── js │ ├── bootstrap.min.js │ └── jquery.min.js ├── .htaccess ├── README.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /protected/tmp/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /protected/.htaccess: -------------------------------------------------------------------------------- 1 | deny from all -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 数据表
2 || <{$v.uid}> | 6 |<{$v.username}> | 7 |
3 | <{if $whoami}> 4 | 接收到参数$whoami:“<{$whoami}>”。 5 | <{else if $whoami == "yes"}> 6 | whoami = yes 7 | <{else}> 8 | 没有参数哦 9 | <{/if}> 10 |
11 |12 | 本页面的模板是通过display()输出,其实如果模板名称是“控制器名_方法名.html”,那么也可以不写display(),只要有模板存在就自动输出了。 13 |
14 |15 | 返回到Default/index 16 |
-------------------------------------------------------------------------------- /protected/view/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |删除数据,影响行数是:<{$result}>
3 |代码:
4 |5 | $user = new User(); 6 | // 删除uid为3的行 7 | $uid = 3; 8 | // 与insert,update等类似,delete也是输入条件数组 9 | $this->result = $user->delete(array( 10 | "uid" => $uid 11 | )); 12 | // delete也是返回影响行数,没有匹配的结果会返回0 13 |14 | <{include file="db/inner.html"}> 15 |
16 | 返回到main/index 17 |
-------------------------------------------------------------------------------- /protected/view/db/update.html: -------------------------------------------------------------------------------- 1 | 2 |修改数据,影响行数是:<{$result}>
3 |代码:
4 |5 | $user = new User(); 6 | // 修改uid=2的名字为whoami 7 | $result = $user->update(array( 8 | "uid" => "2" // 条件 9 | ), array( 10 | "username" => "whoami" // 修改的内容,键是字段名 11 | )); 12 | // update返回结果是影响行数,返回0证明查询不到对应条件的数据 13 |14 | <{include file="db/inner.html"}> 15 |
16 | 返回到main/index 17 |
-------------------------------------------------------------------------------- /protected/controller/MainController.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |4 | 这里是多维数据的演示哦! 5 |
22 | 返回到Main/index 23 |
-------------------------------------------------------------------------------- /protected/view/db/create.html: -------------------------------------------------------------------------------- 1 | 2 |3 | <{if $newid}> 4 | 插入一行数据,新增的uid是:<{$newid}> 5 | <{else}> 6 | 插入数据失败! 7 | <{/if}> 8 |
9 |代码:
10 |11 | // 准备数据,一个“字段名”对应“值”的数组 12 | $data = array( 13 | "username" => "user".mt_rand(2,100), 14 | ); 15 | $user = new User(); 16 | // create返回的是最新插入的自增主键的值 17 | $this->newid = $user->create($data); 18 |19 | <{include file="db/inner.html"}> 20 |
21 | 返回到main/index 22 |
-------------------------------------------------------------------------------- /protected/view/db/execute.html: -------------------------------------------------------------------------------- 1 | 2 |使用SQL语句删除数据,影响行数是:<{$result}>
3 |代码:
4 |5 | $user = new User(); 6 | $username = "whoami"; 7 | // 准备SQL,要删除username是“whoami”的家伙 8 | $sql = "DELETE * FROM test_user WHERE username = :username"; 9 | 10 | // 同query,execute第一个参数是SQL语句,第二个参数是绑定参数的列表 11 | $this->result = $user->execute($sql, array( 12 | ":username" => $username, // 注意这种绑定参数的做法,可以防止SQL注入 13 | )); 14 | // execute返回参数和create等相同,即是影响行数,为0则证明没有做任何的修改 15 |16 | <{include file="db/inner.html"}> 17 |
18 | 返回到main/index 19 |
-------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### 新版的SpeedPHP框架speed.php 2 | 3 | 已经很快了,还能不能更快? 4 | 5 | 已经很轻量级了,还能不能更轻? 6 | 7 | 已经很容易学了,还能不能更容易? 8 | 9 | PHP框架真的要用尽Java的23种设计模式,才能开发项目? 10 | 11 | **所以我们有了新的SpeedPHP框架:** 12 | 13 | 1. 核心代码不到500行,简约易学但功能强大,速度飞快。 14 | 2. 易于使用的伪静态路由规则,构造各种各样的地址 15 | 3. 大部分的约定配置,更专注于业务功能 16 | 4. 直接使用new语法代替spClass,让代码提示更智能。 17 | 5. 适应PHP5.2以上版本的语法,调试模式打开STRICT语法要求,代码更健壮 18 | 6. 支持modules多应用开发架构 19 | 7. 增加BaseController父类,方便全局操作。 20 | 8. 新模板引擎支持Smarty日常全部语法,还有布局、自动输出等方便功能。 21 | 9. 默认支持MySQL多库访问、读写分离、分页,按需连接使得数据库更轻更快 22 | 10. 强安全策略,自动防止跨站脚本、SQL注入攻击等。 23 | 24 | **已经正式发布,望各位不吝指教。** 25 | 26 | 新版代码;https://github.com/SpeedPHP/speed 27 | 28 | 下载地址:https://github.com/SpeedPHP/speed/archive/master.zip 29 | 30 | 使用方法:https://github.com/SpeedPHP/manual/blob/master/README.md 31 | 32 | 新版求助和反馈:http://www.speedphp.com/forum-26-1.html 33 | 34 | -------------------------------------------------------------------------------- /protected/view/db/query.html: -------------------------------------------------------------------------------- 1 | 2 |SQL查询query
3 |代码:
4 |5 | $user = new User(); 6 | $uid = 3; 7 | // 准备SQL,查询uid大于3的 8 | $sql = "SELECT * FROM test_user WHERE uid > :uid"; 9 | 10 | // query第一个参数是SQL语句,第二个参数是绑定参数的列表 11 | $this->findall = $user->query($sql, array( 12 | ":uid" => $uid, // 注意这种绑定参数的做法,可以防止SQL注入 13 | )); 14 |15 |
结果:多维数组
16 || 键 | 19 |值 | 20 |||
|---|---|---|---|
| <{$k}> | 24 |
25 |
|
34 |
38 | 返回到main/index 39 |
-------------------------------------------------------------------------------- /protected/controller/BaseController.php: -------------------------------------------------------------------------------- 1 |