摘要:内包含框架的核心文件。在目录中,新建,内容如下判断文件是否存在判断配置是否存在没有配置项找不到配置文件找不到配置文件配置类在目录中,新建配置文件和。使用修改目录中的和。源码分享书签从零开始打造自己的框架
目标
本篇,我们的目标有三个:
调整项目结构
加载配置类
添加日志类
原文地址:http://www.voidking.com/2017/...
调整项目结构vkphp ├─app │ ├─ctrl │ ├─model │ ├─smarty │ └─view ├─config ├─core ├─lib ├─log └─public
app内包含控制器、数据库model、smarty模板、普通渲染模板。
config内包含全局配置文件。
core内包含框架的核心文件。
lib内包含第三方库。
log内存放日志文件。
public包含静态资源文件。
加载配置类我们之前的路由配置、数据库配置都是写在程序中的,修改起来不方便,下面我们把这些配置都放在配置文件中。
conf.php在core目录中,新建conf.php,内容如下:
配置类在config目录中,新建配置文件route_config.php和db_config.php。
"index", "ACTION"=>"index" );"mysql:host=localhost;dbname=vkphp", "USER"=>"root", "PASSWD"=>"" );使用修改core目录中的route.php和db.php。
ctrl = coreconf::get("CTRL","route_config"); $this->action = coreconf::get("ACTION","route_config"); // 其他不变 }getMessage(); } } }添加日志类 log.php在core目录,添加log.php文件,内容如下:
使用在indexCtrl.php中,添加:
public function log(){ $log = new corelog(); $log->log("this is log","log_test"); echo "成功写入日志"; }访问 http://vkphp.dev/index/log ,即可在log目录下生成日志文件。
如果时间不正确,就在php.ini中搜索 date.timezone ,然后修改时区为:data.timezone="Asia/Shanghai"或者,直接在程序代码中使用函数ini_set("date.timezone","Asia/Shanghai"); ,或者date_default_timezone_set(‘Asia/Shanghai"); 。
源码分享https://github.com/voidking/v...
书签从零开始打造自己的PHP框架
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25879.html
摘要:前言第到章,我们完成了一个属于自己的框架,麻雀虽小五脏俱全。接下来,我们使用框架开发一个迷你项目书签收藏。内包含框架的核心文件。源码分享书签从零开始打造自己的框架与之详解 前言 第0到5章,我们完成了一个属于自己的php框架,麻雀虽小五脏俱全。接下来,我们使用vkphp框架开发一个迷你项目——书签收藏。在开发过程中,也许会遇到很多问题,这时候我们就可以对框架进行调整,使之更加完善。 系...
摘要:市场上已经有了这么多好的框架,为什么还要开发自己的框架答假装大神。为了在装神的道路上走的更远,小编决定开发一个自己的框架,命名为。源码分享书签从零开始打造自己的框架 前言 使用过thinkphp和yii,涉猎过shopnc。市场上已经有了这么多好的框架,为什么还要开发自己的框架?答:假装大神。为了在装神的道路上走的更远,小编决定开发一个自己的php框架,命名为vkphp。 原文地址:h...
摘要:本篇,我们就在自己的项目中使用来进行依赖管理。输入,即可安装依赖到目录中,并且自动生成和。安装依赖,提示从提示可以看出,读取的是中的依赖,而不是最新的。访问,正常工作。源码分享书签从零开始打造自己的框架中文网中文文档 Composer Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管...
摘要:命名空间的作用解决重名问题。不同的命名空间中,可以存在相同类名和函数名。完全限定名称,或包含了全局前缀操作符的名称,例如,或。源码分享书签从零开始打造自己的框架使用命名空间基础使用命名空间后备全局函数常量基础安装进阶安装 目标 本篇,我们来实现加载控制器、数据查询和页面渲染。 原文地址:http://www.voidking.com/2017/... 加载控制器 控制器 在app目录下...
摘要:回调函数拿到,然后进行文件的引入。支持访问地址,无法正常获取控制器方法和参数,修改如下路由控制隐藏获取中的控制器和方法获取中的参数去掉项目名称去掉源码分享书签从零开始打造自己的框架檔案引入路徑問題 目标 本篇,我们来实现类库自动加载,以及路由解析。 原文地址:http://www.voidking.com/2017/... 类库自动加载 常规加载 常规加载一般使用include或者re...
阅读 934·2023-04-25 23:55
阅读 2672·2023-04-25 14:13
阅读 3267·2019-08-26 13:47
阅读 2917·2019-08-23 18:16
阅读 600·2019-08-23 17:20
阅读 3169·2019-08-23 16:55
阅读 3093·2019-08-22 15:39
阅读 3146·2019-08-20 18:10