E..yPHP!


这个框架的理由?

Un...反正很奇怪的思维,不好好写MVC思想和依赖Composer关系。
结果...只提供给PHP初学者学习使用。而且这个框架不走MVC模式思想,单独一个PHP文件执行,是比较古老的方法。
当然了,PHP7.X版本都可以使用。
模板引擎采用twig1.37.1版,数据库采用Medoo1.6版。


下载安装

源代码分享到Github即可下载

Github版 更新一些新功能,后期包括留言本、后台系统、轻量级CMS管理 下载
纯净无模板 没有任何图片、JS和CSS,单独一个演示。 下载

框架使用

本代码开源遵循Apache Licence 2.0协议。

支持PHP7.X以上版本,建议Win平台Apache+php+mysql组合环境使用。

支持Windows和Liunx平台。

如果不使用数据库,请在App/Data.php注释数据库配置即可。

            
//配置数据库
// $_DB['mysql']['pconnect'] = true;//设置是否长连接
// $_DB['mysql']['charset'] = 'utf8';//设置连接编码
// $_DB['mysql']['server'] = '127.0.0.1';
// $_DB['mysql']['username'] = 'root';
// $_DB['mysql']['password'] = 'root';
// $_DB['mysql']['database_name'] = 'tokyos.top';
// $_DB['mysql']['database_type'] = 'mysql';
// $_DB['mysql']['port'] = 3306;

//执行数据库
// $_DB= new medoo($_DB['mysql']);                 
              
        

目录架构


App         前后台PHP文件目录
   |- Home  前台目录
   |- Admin 后台目录
   |- Data.php 数据库配置
Public    放置CSS、JS、IMG等目录
   |- Home  前台静态资源目录
   |- Admin 后台静态资源目录
          |- Admin_config.php 后台数据库配置
Library   函数目录 (不定期新增)
   |- Medoo.php 数据库类            
   |- Php_error.php 错误提示类
   |- Twig  模板引擎类
   |- ClassTree.class.php 分类归梯类
   |- Post_Get.php  POST GET过滤类
   |- Session.php  Session类
   |- Editormd.uploader.class.php 编辑器上传类
   |- File.class.php  文件操作类
   |- Page.php 分页类
Templates   前台模板目录
Cache   模板缓存目录
404.html    404错误页面
.htaccess   伪静态、去掉index.php配置文件
Config.php    前台框架配置文件
index.php   前台框架入口文件
    
        

后台截图

模板引擎

Twig是一款灵活、快速、安全的PHP模板引擎。
快速:Twig将模板编译为纯粹的,最优化的PHP代码。它的开销与常规的PHP代码相比,已经降到了极低。
安全:Twig拥有沙盒模式,用于评估未受信任的模板代码。这使得Twig可以用于允许用户自行修改模板设计的应用程序中。

具体如何使用?

index.php为例:加载模板文件

                
echo $twig->render('index.html');                  
                  
            

数据传值:

                
$name = '你好,全端观察世界!';
echo $twig->render('index.html',array('dete'=> $name));                  
                  
            

具体语法请参考 Twig中文文档 :跳转

数据使用

Medoo是一款超轻量级的PHP SQL数据库框架,由社交网站Catfan和开源项目Qatrix的创始人开发。提供了简单,易学,灵活的API,提升开发Web应用的效率与性能,而且体积只有22KB。

具体如何使用?

new.php为例,获取数据传值模板:

                    
$datas = $_DB->select("tokyo_users", [
    "id",
    "username",
    "password"
]);
echo $twig->render('new.html', array('user' => $datas));                  
                      
                

new.html为例,模板循环:

                    
  {% for v in user %}
  <li><a href="#"> {{ v.id }} - {{ v.username }} </a>
  {% endfor %}             
                      
                

还有增删改关联方法,具体语法请参考Medoo中文文档 :跳转

伪静态规则

Aaache伪静态规则

                    

  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{QUERY_STRING} ^(.*)$
  RewriteRule ^index.html$ index.php
  RewriteRule ^admin$ /App/Admin/Index.php
  ReWriteRule ^new.html$ /App/Home/new.php
  ReWriteRule ^content_([0-9]+).html$ /App/Home/content.php?id=$1
  ErrorDocument 404 /Public/404.html
            
                      
                

nginx规则

                    
if (!-d $request_filename){
  set $rule_0 1$rule_0;
}
if (!-f $request_filename){
  set $rule_0 2$rule_0;
}
if ($args ~ "^(.*)$"){
  set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
  rewrite ^/index.html$ /index.php;
}
  rewrite ^/admin$ /App/Admin/Index.php;
         
                      
                

应用第三方开源

编辑器 Editor.md Examples

数据库处理 Medoo

错误提示 PHP ERROR

模板引擎 TWIG

后台模板 Bootstrapious

感谢

汶(广州) 解决了技术方案

老钱(上海) 提出了思路方案