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框架未完成,待续!!!以后慢慢补充。
最新评论
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐
那可能是RobotFramework-ride的版本问题。我装的1.7.4.2,有这个限制。我有空再尝试下旧版本吧,感谢回复。
你好!我在python2.7中安装RobotFramework-ride的时候提示wxPython的版本最高是2.18.12,用pip下载的wxPython版本是4.10,而且我在那个路径下没有找到2
真的太好了,太感谢了,在bilibili和CSDN上都找遍了,终于在你这里找到了