文档章节

easyphp框架

燕玉苗
 燕玉苗
发布于 2016/08/09 11:05
字数 582
阅读 53
收藏 0
点赞 0
评论 2

github : https://github.com/yanyumiao/easyphp
oschina : https://git.oschina.net/YanYuMiao/easyphp

关于easyphp

easyphp是一个非常简单的php框架,全部框架的实现只使用了很少的代码
Code Climate

特性

  • 实现简单 源码易读
  • MVC分层 SERVICE层可选
  • 动态加载smarty
  • DB类 单例 PDO prepare 防SQL注入
  • xss过滤
  • 实用日志

目录结构

│  README.md  
├─app (web应用目录)
│  ├─config (配置目录)
│  │      db_config.php (db配置)
│  ├─ctrl (控制器目录)
│  │      indexCtrl.php (默认控制器)
│  ├─lib (第三方类库)
│  │  │  smartyLib.php (动态引入smarty)
│  │  └─smarty (smarty目录)
│  ├─log (日志目录)
│  ├─model (模型目录)
│  ├─service (服务目录)
│  └─view (视图目录)
│      ├─cache (视图缓存目录)
│      ├─compile (视图编译目录)
│      └─html (视图模板目录)
├─sys (框架目录)
│      app.php (核心类)
│      ctrl.php (控制器基类)
│      db.php (DB类)
│      function.php (函数库)
└─web (web入口目录)  
       index.php (入口文件) 

安装

  • 数据库配置,~/app/db_config.php
  • 添加smarty,将smarty中libs目录copy到~/app/lib/smarty目录

路由

例:host/index.php/user/login 访问userCtrl控制器loginAct方法
控制器类名采用Ctrl后缀 方法名采用Act后缀

去掉index.php

apache 添加.htaccss文件到~/web目录即可

<IfModule mod_rewrite.c>  
	RewriteEngine on  
	RewriteCond %{REQUEST_FILENAME} !-d  
	RewriteCond %{REQUEST_FILENAME} !-f  
	RewriteRule ^(.*)$ index.php/$1 [L]  
</IfModule>  

nginx (需 php.ini 中 cgi.fix_pathinfo=1)

location /{
    ...
    if (!-e $request_filename) {
        rewrite ^/(.*)$ /index.php/$1 last;
        break;
    }
}
location ~ .+\.php($|/) {
    ...
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_param PATH_INFO $fastcgi_path_info;
}

DB操作

mysql> SELECT * FROM user;
+----------+-------+  
| username | phone |  
+----------+-------+  
| a        | 1     |  
| a        | 2     |  
| b        | 3     |  
+----------+-------+  

<?php
DB::insert('user', ['username'=>'a', 'phone'=>'1']);
DB::update('user', ['phone'=>'1'], ['username'=>'a']);
DB::select('user', 'SELECT * FROM `user` WHERE username=?', ['a']);
DB::find('user', 'SELECT * FROM `user` WHERE phone=?', ['1']);
DB::delet('user', ['phone'=>'1']);

日志

系统默认开启访问日志,日志文件命名采用日期加后缀的格式
例如: 20160805.request 20160805.debug

命名规范

没有严格的命名规范,要求代码紧凑、清晰、简洁就可以了
Controller Model Service 此类文件名推荐使用小驼峰加特定后缀的方式命名 例如:
userCtrl(控制器) userMode(模型名) userService(服务名)

© 著作权归作者所有

共有 人打赏支持
燕玉苗
粉丝 7
博文 4
码字总数 1776
作品 0
海淀
程序员
加载中

评论(2)

燕玉苗
燕玉苗

引用来自“红薯”的评论

代码放到 git.oschina.net 呗:)
好的好的
红薯
红薯
代码放到 git.oschina.net 呗:)
zend2 +easyphp 配置

1.zend2 的php>5.3版本,需要支持namespace 2. phpnow 放弃,easyphp支持最新版本php 3easyphp中新建站点设置 配置文件在EasyPHPbinariesconf_files Alias /zenddemo "${path}/binaries/zendd......

bytebear ⋅ 2013/05/12 ⋅ 0

apache svn 配置不成功

easyphp 版本5.3.6.0 svn 1.4.5 一直配置不成功。提示model版本不正确。 apache.exe: Syntax error on line 141 of E:/Program Files/EasyPHP/apache/conf/httpd.conf: API module structur......

lucika ⋅ 2011/08/08 ⋅ 5

PHP上传文件-PHP多文件上传

PHP多文件上传个人理解总结 php函数 2009-08-03 21:37 阅读26 评论0 字号: 大大 中中 小小 多文件上传是PHP中一基础应用,在此把相关知识向大家详细介绍一下,本人水平有限,还请多提意见。...

77970290 ⋅ 2012/09/18 ⋅ 0

部署mantis后,点击输入框会一直闪烁

使用的是EasyPHP-DevServer-14.1VC11-install版本,mantis是MantisBT1.2.19,部署完成后,点击输入框,会一直闪烁。 比如创建用户,在账号那里会显示administrator,然后删除r会自己恢复,需...

跌落岸边的鱼 ⋅ 2015/02/13 ⋅ 0

怎么安装redis PHP扩展,windows下

php 5.3.0 php_redis 5.3 DLL文件已经放ext下面,php.ini也写了扩展, 但在phpinfo()就是没有redis扩展,还需要安装其他什么东西吗 ;extension=php_snmp.dllextenstion=php_redis.dllextensi...

西门掃雪 ⋅ 2013/01/22 ⋅ 1

这段代码哪里错了??

"; echo "用户名: "; echo "密 码: "; echo ""; echo ""; if(isset($_POST['sub'])){

小栗子hl ⋅ 2014/04/30 ⋅ 14

下载的开源后台(OSAdmin)无法运行

@somewhereyu 你好,想跟你请教个问题:我是新手,下载的开源后天没法运行,报错是这样的:SQLSTATE[HY000] [1049] Unknown database 'osadmin' Fatal error: Call to a member function qu...

xiaoluo123 ⋅ 2015/12/14 ⋅ 2

php中为什么会出现syntax error, unexpected end of file 这种错误

alert("欢迎加入PHP编程世界!!!"); mark; echo $str; ?> 这段代码运行后出现 Parse error: syntax error, unexpected end of file in D:Program Files (x86...

小栗子hl ⋅ 2014/04/30 ⋅ 5

mantis语言设置

环境:apache mantis1.2.5 easyphp 下载的是mantisbt-1.2.5 http://cdnetworks-kr-2.dl.sourceforge.net/project/mantisbt/mantis-stable/ 默认显示的是英文,想将语言更改为汉语。参考网上的...

lucika ⋅ 2011/07/15 ⋅ 2

Debian下配置APACHE2+MYSQL5+PHP5

学生的毕业论文是基于APACHE+MYSQL+PHP环境实现的,目标是开发一个网页游戏。他给我的实验环境是EasyPHP 3.0,一看实际上是为方便在WINDOWS下安装而打一个包。我的LAPTOP上已经安装够的动西,...

鼎六智能 ⋅ 2016/10/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何解决s权限位引发postfix及crontab异常

一、问题现象 业务反馈某台应用服务器,普通用户使用mutt程序发送邮件时,提示“postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied”,而且普通用法...

问题终结者 ⋅ 17分钟前 ⋅ 0

Unable to load database on disk

由于磁盘空间满了以后,导致zookeeper异常退出,清理磁盘空间后,zk启动报错,信息如下: 2018-06-25 17:18:46,904 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading co...

刀锋 ⋅ 37分钟前 ⋅ 0

css3 box-sizing:border-box 实现div一行多列

<!DOCTYPE html><html><head><style> div.container{ background:green; padding:10px 10px;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Fir......

qimh ⋅ 42分钟前 ⋅ 0

Homebrew简介和基本使用

一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径...

说回答 ⋅ 49分钟前 ⋅ 0

文件压缩和打包zip、tar

第六章 文件压缩和打包 6.5 zip压缩工具 zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 注意:...

弓正 ⋅ 50分钟前 ⋅ 0

vuex

一、状态对象如何赋值给内部对象。三种方式: 1、使用computed赋值,一定要写this,不然找不到$store。 computed:{ count(){ return this.$store.state.count; }} 2、通...

大美琴 ⋅ 今天 ⋅ 0

javaScript 设计模式

1、构造函数模式 ` /** 构造一个动物的函数 */ function Animal(name, color){ this.name = name; this.color = color; this.getName = function(){ return this.name; } } // 实例一个对象 ......

fangPeng_ ⋅ 今天 ⋅ 0

日常嘚瑟:TeamCity构建中解压和打包tar

要弄一个新的构建,很简单,从两个构建的tar格式Artifact中分别取一部分,重新打一个tar。 所以,我去写个脚本用curl下载两个依赖的Artifact,然后解压移动重新打个tar? 开什么玩笑,我的技...

谷永权 ⋅ 今天 ⋅ 0

Istio官方文档中文版

阅读目录 Istio官方文档中文版 回到目录 Istio官方文档中文版 http://istio.doczh.cn/ https://istio.io/docs/concepts/what-is-istio/goals.html 为什么要使用Istio? 在从单体应用程序向分...

xiaomin0322 ⋅ 今天 ⋅ 0

CentOS 7 Omnibus 包安装 GitLab 并汉化记录

系统环境 操作系统:CentOS 7GitLab:gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 下载Omnibus安装包 使用国内镜像加速下载地址 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el......

admin_qing ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部