文档章节

easyphp框架(造轮子)

夜神的黎曼几何
 夜神的黎曼几何
发布于 2016/08/09 11:05
字数 523
阅读 71
收藏 0

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
博文 2
码字总数 902
作品 0
海淀
高级程序员
私信 提问
加载中

评论(1)

红薯
红薯
代码放到 git.oschina.net 呗:)
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
1K
5
Easyphp能在nginx上使用吗

easyphp能在nginx上面使用吗

klj123wan
2012/12/20
155
1
PHP上传文件-PHP多文件上传

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

77970290
2012/09/18
0
0
部署mantis后,点击输入框会一直闪烁

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

跌落岸边的鱼
2015/02/13
184
0
下载的开源后台(OSAdmin)无法运行

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

xiaoluo123
2015/12/14
274
2

没有更多内容

加载失败,请刷新页面

加载更多

20个使用 Java CompletableFuture的例子

https://colobu.com/2018/03/12/20-Examples-of-Using-Java%E2%80%99s-CompletableFuture/

lemos
50分钟前
1
0
Apache 流框架 Flink,Spark Streaming,Storm对比分析

1.Flink架构及特性分析 Flink是个相当早的项目,开始于2008年,但只在最近才得到注意。Flink是原生的流处理系统,提供high level的API。Flink也提供 API来像Spark一样进行批处理,但两者处理...

hblt-j
54分钟前
1
0
什么是公网IP、内网IP和NAT转换?

搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么? 1、引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网I...

linuxprobe16
今天
5
0
Spring Cloud搭建微服务架构----流量回放

前言 系统微服务化后,传统的自测/测试方式都变得比较困难: 依赖的服务可能不稳定。 服务无法提供期望的响应数据。 缺少场景构造标准。 随着整体业务越来越复杂,微服务依赖的越来越多,测试...

春哥大魔王的博客
今天
4
0
记一次springboot模块配置问题导致读取Apollo配置中心配置文件始终错误的问题

现在正在做的一个项目采用的是微服务,主框架是spring cloud,配置中心用的是携程的Apollo。 项目下有多个服务,在测试服务器上启动用户服务的时候发现在eureka中心另一个服务被启动了,尝试...

zcqshine
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部