欢迎光临!
若无相欠,怎会相见

PHP框架学习(一)搭建自己的PHP框架–DarkerPHP框架

PHP是最好的语言!江湖流传已久(嘻嘻)。

如今,我也开始学习!最早,我是从慕课网学习的,应该是2015年开始的,但是,当时只是简单的学习。如今,我也搭建了自己的个人网站,我得为我的网站负责,所以,我要深入的学习PHP。

PHP基础学习完成了,就想着去开发网页,但是,开发的网页无法运行,原来是缺少内部核心,于是学习框架,像ThinkPHP,yii,Laravel等都是想学的目标,但是,刚开始肯定要先开始简单的,因为,我发现复杂一点的我都分不清他们是不是MVC模式,我是先打开压缩包看看文件结构。

于是开始学习ThinkPHP(比较容易入门),但是,又有新问题了。我看不懂代码,看不懂运行流程,虽然知道怎么调用的。于是就催生了我先自己写一个框架的想法,在自己电脑搭建本地服务器运行,一点一点的补充代码,搞清楚怎么运行的,在学其他框架,就比较简单了,因为你已经明白了运行原理,到时候再看看人家的开发文档,基本上可以很快掌握。

学着写框架是一个快速入门框架的方法,于是,我给自己的框架取一个“高大尚”的名字–DarkerPHP。本框架采用MVC模式。首先说说MVC架构模式。

MVC架构模式:

M:模型(model)

V:视图(view)

C:控制器(Controller)

给一个商城链接的例子 http://xxxx.com/index.php?m=admin&c=goods&a=add ,在此链接中,index.php 是入口文件,m=admin 表示URL请求的是管理模块或后台模块,c=goods&a=add 表示URL请求的是goods控制器的add方法。我们可以理解为:管理员或者用户在添加货物。

我来开始写自己的框架。首先,建立一个框架项目文件夹,例如:myframe(我的)。在这个文件夹里在自行建立文件夹。

/system             用来存放框架的主体部分

/application     用来存放网站程序

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

index.php入口文件代码

<?php
require "DarkerPHP.php"; //引入DarkerPHP.php

DarkerPHP.php代码

<?php
require "system/DarkerPHP/core/DarkerPHP.class.php";
DarkerPHP::run();

在system目录下,目录结构是

其中
/DarkerPHP       存放框架核心文件
/database          存放数据库(比如数据库启动类)
/helps                 存放辅助函数
/libraries            存放类库

然后在DarkerPHP目录下,创建core和controllers目录,其中core存放核心文件DarkerPHP.class.php,其代码如下:

<?php

/**
 *
 */

class DarkerPHP {
	public static function run() {
		echo getcwd(), '<br/>';     //getchwd() 函数返回当前工作目录。
		self::init();
		echo ROOT, '<br/>';
		echo APP_PATH, '<br/>';
		echo SYSTEM_PATH, '<br/>';

	}

	private static function init() {

		define("DS", DIRECTORY_SEPARATOR);  //路径分隔符

		define("ROOT", getcwd() . DS);      //getchwd() 函数返回当前工作目录。

		define("APP_PATH", ROOT . 'application' . DS); //

		define("SYSTEM_PATH", ROOT . "system" . DS); //
	}
}

我就先写到这里,通过本地访问,看看是否有自己想要的结果输出,如果有报错,可以进行修改,然后在进行访问。我的想法是先把基础的部分写出来,再慢慢再添加一些其他的函数,功能等。我运行的结果如下

DarkerPHP框架未完成,待续!!!以后慢慢补充。

赞(0) 打赏
转载请注明:飘零博客 » PHP框架学习(一)搭建自己的PHP框架–DarkerPHP框架
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎光临