最新消息:觉得本站不错的话 记得收藏哦 博客内某些功能仅供测试 讨论群:135931704 快养不起小站了 各位有闲钱就打赏下把 My Email weicots#gmail.com Please replace # with @

Composer WF PHP 框架 加载结构的 主要加载个文件 对比

PHP ajiang-tuzi 4067浏览

框架目录结构

composer.json 文件


{
  "name": "WeiCot Framework",
  "description": " WeiCot Framework 1.1 ",
  "license": "Public or Private",
  "authors": [
    {
      "name": "jiang",
      "email": "1050653098@qq.com"
    }
  ],
  "autoload": {
    "psr-4": {

      "Weicot\\Admin\\Block\\": "app/code/Admin/Block",
      "Weicot\\Admin\\Controller\\": "app/code/Admin/Controller",
      "Weicot\\Admin\\Data\\": "app/code/Admin/Data",
      "Weicot\\Admin\\Model\\": "app/code/Admin/Model",

      "Weicot\\Car\\Block\\": "app/code/Car/Block",
      "Weicot\\Car\\Controller\\": "app/code/Car/Controller",
      "Weicot\\Car\\Data\\": "app/code/Car/Data",
      "Weicot\\Car\\Model\\": "app/code/Car/Model",

      "Weicot\\Taobao\\Block\\": "app/code/Taobao/Block",
      "Weicot\\Taobao\\Controller\\": "app/code/Taobao/Controller",
      "Weicot\\Taobao\\Data\\": "app/code/Taobao/Data",
      "Weicot\\Taobao\\Model\\": "app/code/Taobao/Model",

      "Weicot\\Base\\Block\\": "app/code/Base/Block",
      "Weicot\\Base\\Controller\\": "app/code/Base/Controller",
      "Weicot\\Base\\Data\\": "app/code/Base/Data",
      "Weicot\\Base\\Model\\": "app/code/Base/Model",

      "Weicot\\Account\\Block\\": "app/code/Account/Block",
      "Weicot\\Account\\Controller\\": "app/code/Account/Controller",
      "Weicot\\Account\\Data\\": "app/code/Account/Data",
      "Weicot\\Account\\Model\\": "app/code/Account/Model",

      "Weicot\\Customer\\Block\\": "app/code/Customer/Block",
      "Weicot\\Customer\\Controller\\": "app/code/Customer/Controller",
      "Weicot\\Customer\\Data\\": "app/code/Customer/Data",
      "Weicot\\Customer\\Model\\": "app/code/Customer/Model",


      "Weicot\\Fan\\Block\\": "app/code/Fan/Block",
      "Weicot\\Fan\\Controller\\": "app/code/Fan/Controller",
      "Weicot\\Fan\\Data\\": "app/code/Fan/Data",
      "Weicot\\Fan\\Model\\": "app/code/Fan/Model",

      "Weicot\\Tools\\Block\\": "app/code/Tools/Block",
      "Weicot\\Tools\\Controller\\": "app/code/Tools/Controller",
      "Weicot\\Tools\\Data\\": "app/code/Tools/Data",
      "Weicot\\Tools\\Model\\": "app/code/Tools/Model"



    },
    "classmap": [
      "lib/Core",
	  "lib"
    ]
  },
  "repositories": {
    "packagist": {
      "type": "composer",
      "url": "https://packagist.phpcomposer.com"
    }
  }
}

autoload_psr4.php 文件

<?php

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'Weicot\\Tools\\Model\\' => array($baseDir . '/app/code/Tools/Model'),
    'Weicot\\Tools\\Data\\' => array($baseDir . '/app/code/Tools/Data'),
    'Weicot\\Tools\\Controller\\' => array($baseDir . '/app/code/Tools/Controller'),
    'Weicot\\Tools\\Block\\' => array($baseDir . '/app/code/Tools/Block'),
    'Weicot\\Taobao\\Model\\' => array($baseDir . '/app/code/Taobao/Model'),
    'Weicot\\Taobao\\Data\\' => array($baseDir . '/app/code/Taobao/Data'),
    'Weicot\\Taobao\\Controller\\' => array($baseDir . '/app/code/Taobao/Controller'),
    'Weicot\\Taobao\\Block\\' => array($baseDir . '/app/code/Taobao/Block'),
    'Weicot\\Fan\\Model\\' => array($baseDir . '/app/code/Fan/Model'),
    'Weicot\\Fan\\Data\\' => array($baseDir . '/app/code/Fan/Data'),
    'Weicot\\Fan\\Controller\\' => array($baseDir . '/app/code/Fan/Controller'),
    'Weicot\\Fan\\Block\\' => array($baseDir . '/app/code/Fan/Block'),
    'Weicot\\Customer\\Model\\' => array($baseDir . '/app/code/Customer/Model'),
    'Weicot\\Customer\\Data\\' => array($baseDir . '/app/code/Customer/Data'),
    'Weicot\\Customer\\Controller\\' => array($baseDir . '/app/code/Customer/Controller'),
    'Weicot\\Customer\\Block\\' => array($baseDir . '/app/code/Customer/Block'),
    'Weicot\\Car\\Model\\' => array($baseDir . '/app/code/Car/Model'),
    'Weicot\\Car\\Data\\' => array($baseDir . '/app/code/Car/Data'),
    'Weicot\\Car\\Controller\\' => array($baseDir . '/app/code/Car/Controller'),
    'Weicot\\Car\\Block\\' => array($baseDir . '/app/code/Car/Block'),
    'Weicot\\Base\\Model\\' => array($baseDir . '/app/code/Base/Model'),
    'Weicot\\Base\\Data\\' => array($baseDir . '/app/code/Base/Data'),
    'Weicot\\Base\\Controller\\' => array($baseDir . '/app/code/Base/Controller'),
    'Weicot\\Base\\Block\\' => array($baseDir . '/app/code/Base/Block'),
    'Weicot\\Admin\\Model\\' => array($baseDir . '/app/code/Admin/Model'),
    'Weicot\\Admin\\Data\\' => array($baseDir . '/app/code/Admin/Data'),
    'Weicot\\Admin\\Controller\\' => array($baseDir . '/app/code/Admin/Controller'),
    'Weicot\\Admin\\Block\\' => array($baseDir . '/app/code/Admin/Block'),
    'Weicot\\Account\\Model\\' => array($baseDir . '/app/code/Account/Model'),
    'Weicot\\Account\\Data\\' => array($baseDir . '/app/code/Account/Data'),
    'Weicot\\Account\\Controller\\' => array($baseDir . '/app/code/Account/Controller'),
    'Weicot\\Account\\Block\\' => array($baseDir . '/app/code/Account/Block'),
);

autoload_classmap.php 文件

<?php

// autoload_classmap.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'AliyunClient' => $baseDir . '/lib/Taobao/aliyun/AliyunClient.php',
    'AppipGetRequest' => $baseDir . '/lib/Taobao/top/request/AppipGetRequest.php',
    'ApplicationVar' => $baseDir . '/lib/Taobao/top/ApplicationVar.php',
    'Area' => $baseDir . '/lib/Taobao/top/domain/Area.php',
    'AreasGetRequest' => $baseDir . '/lib/Taobao/top/request/AreasGetRequest.php',
    'Autoloader' => $baseDir . '/lib/Taobao/Autoloader.php',
    'ClusterTopClient' => $baseDir . '/lib/Taobao/top/ClusterTopClient.php',
    'HttpdnsGetRequest' => $baseDir . '/lib/Taobao/top/HttpdnsGetRequest.php',
    'IsvTpwdInfo' => $baseDir . '/lib/Taobao/top/domain/IsvTpwdInfo.php',
    'KfcKeywordSearchRequest' => $baseDir . '/lib/Taobao/top/request/KfcKeywordSearchRequest.php',
    'KfcSearchResult' => $baseDir . '/lib/Taobao/top/domain/KfcSearchResult.php',
    'NTbkItem' => $baseDir . '/lib/Taobao/top/domain/NTbkItem.php',
    'NTbkShop' => $baseDir . '/lib/Taobao/top/domain/NTbkShop.php',
    'RequestCheckUtil' => $baseDir . '/lib/Taobao/top/RequestCheckUtil.php',
    'ResultSet' => $baseDir . '/lib/Taobao/top/ResultSet.php',
    'SpiUtils' => $baseDir . '/lib/Taobao/top/SpiUtils.php',
    'Subtask' => $baseDir . '/lib/Taobao/top/domain/Subtask.php',
    'Task' => $baseDir . '/lib/Taobao/top/domain/Task.php',
    'TbkEvent' => $baseDir . '/lib/Taobao/top/domain/TbkEvent.php',
    'TbkFavorites' => $baseDir . '/lib/Taobao/top/domain/TbkFavorites.php',
    'TbkItemGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkItemGetRequest.php',
    'TbkItemInfoGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkItemInfoGetRequest.php',
    'TbkItemRecommendGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkItemRecommendGetRequest.php',
    'TbkShopGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkShopGetRequest.php',
    'TbkShopRecommendGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkShopRecommendGetRequest.php',
    'TbkUatmEventGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkUatmEventGetRequest.php',
    'TbkUatmEventItemGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkUatmEventItemGetRequest.php',
    'TbkUatmFavoritesGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkUatmFavoritesGetRequest.php',
    'TbkUatmFavoritesItemGetRequest' => $baseDir . '/lib/Taobao/top/request/TbkUatmFavoritesItemGetRequest.php',
    'TimeGetRequest' => $baseDir . '/lib/Taobao/top/request/TimeGetRequest.php',
    'TopAuthTokenCreateRequest' => $baseDir . '/lib/Taobao/top/request/TopAuthTokenCreateRequest.php',
    'TopAuthTokenRefreshRequest' => $baseDir . '/lib/Taobao/top/request/TopAuthTokenRefreshRequest.php',
    'TopClient' => $baseDir . '/lib/Taobao/top/TopClient.php',
    'TopIpoutGetRequest' => $baseDir . '/lib/Taobao/top/request/TopIpoutGetRequest.php',
    'TopLogger' => $baseDir . '/lib/Taobao/top/TopLogger.php',
    'TopSecretGetRequest' => $baseDir . '/lib/Taobao/top/request/TopSecretGetRequest.php',
    'TopSecretRegisterRequest' => $baseDir . '/lib/Taobao/top/request/TopSecretRegisterRequest.php',
    'TopatsResultGetRequest' => $baseDir . '/lib/Taobao/top/request/TopatsResultGetRequest.php',
    'TopatsTaskDeleteRequest' => $baseDir . '/lib/Taobao/top/request/TopatsTaskDeleteRequest.php',
    'UatmTbkItem' => $baseDir . '/lib/Taobao/top/domain/UatmTbkItem.php',
    'Weicor\\Core\\Import' => $baseDir . '/lib/Core/Import.php',
    'Weicot\\Core\\Model' => $baseDir . '/lib/Core/Model.php',
    'Weicot\\Core\\Acl' => $baseDir . '/lib/Core/Acl.php',
    'Weicot\\Core\\Api' => $baseDir . '/lib/Core/Api.php',
    'Weicot\\Core\\Block' => $baseDir . '/lib/Core/Block.php',
    'Weicot\\Core\\Check' => $baseDir . '/lib/Core/Check.php',
    'Weicot\\Core\\Controller' => $baseDir . '/lib/Core/Controller.php',
    'Weicot\\Core\\Database' => $baseDir . '/lib/Core/Database.php',
    'Weicot\\Core\\Debug' => $baseDir . '/lib/Core/Debug.php',
    'Weicot\\Core\\File' => $baseDir . '/lib/Core/File.php',
    'Weicot\\Core\\Run' => $baseDir . '/lib/Core/Run.php',
    'Weicot\\Core\\Session' => $baseDir . '/lib/Core/Session.php',
    'Weicot\\Core\\Setup' => $baseDir . '/lib/Core/Setup.php',
    'Weicot\\Core\\View' => $baseDir . '/lib/Core/View.php',
    'WirelessShareTpwdCreateRequest' => $baseDir . '/lib/Taobao/top/request/WirelessShareTpwdCreateRequest.php',
);

目录结构

<?php
 
/**************************************** WeiCot Framework 1.1 版 **************************************************
 * <!--
      ◥◣    ◢◤     ◥◣
◤        ◥◣  ◢◤       █...
▎   ◢█◣   ◥◣◢◤   ◢█   █
◣  ◢◤  ◥◣       ◢◣◥◣ ◢◤.
◥██◤  ◢◤         ◥◣
      █ ●       ● █
      █ 〃   ▄   〃 █
      ◥◣   ╚╩╝   ◢◤
       ◥█▅▃▃ ▃▃▅█◤
         ◢◤   ◥◣ 
         █     █ 
        ◢◤▕   ▎◥◣
       ▕▃◣◢▅▅▅◣◢▃    框架作者的博客
 
?█???█ ?█??? ?█? ?█??█ ?█???█ ??█?? ? ?█??█ ?█???█ ?█?▄?█
?█?█?█ ?█??? ?█? ?█??? ?█???█ ??█?? ▄ ?█??? ?█???█ ?█?█?█
?█▄?▄█ ?█▄▄▄ ▄█▄ ?█▄▄█ ?█▄▄▄█ ??█?? █ ?█▄▄█ ?█▄▄▄█ ?█???█
-->
*/
/***************************************作者及作者信息***************************************************************
 *  WeiCot Framework 1.1 版
 * 作者 ajing  啊江
 * 博客 www.weicot.com
 * 默认编码 UTF-8
 * 邮箱1050653098@qq.com
 * 开始日期 2015 05 12/2016 05 24
 * Version WeiCot Framework 1.1
 ***************************************** 文件 及目录   结构 ****************************************************/
 
 /*            ** 路由 **
  * App Name/Controller Name/Function Name             //路由 方法
  * http://www.weicot.com/base/index/home              //访问路径
  * namespace Weicot\Base\Controller\Index::home;      //调用方法
  * http://www.weicot.com/base/home/
  * 如果不存在action 则执行默认的 execute 函数
  * 注意 Class Name =File Nmae  类名=文件名
  *           ** 视图 **
  * namespace Weicot\Base\View                      //基类
  * 将模板压入数组
  * $this->template[] = array(                      //可同时设置多个模板
  *  "blockName" => "Base.Header",   //Weicot/Base/Block
  *  "templatePath" => "Base/View/Header",           // Base/View/Header.phtml
  *  );
  *
  *       ***** 二级调用***
  * "blockName" => "Base.Header.Function.Value",
  *  Weicot/Base/Block::Header->Function(Value)
  *
 *********目录结构***************************************
 
├─api   //API 接口目录
├─app   //应用目录
│  ├─Code //应用代码模块目录
│  │  ├─Account          //应用 或者 模块                                ┌namespace Weicot\Account;
│  │  │  ├─Block        //视图逻辑                  必需定义 namespace  ─┴use Weicot\Core\Block as Block;
│  │  │  ├─Controller   //控制器                    必需定义 namespace   use Weicot\Core\Controller as Controller;
│  │  │  ├─Data         //数据源 数据库操作          必需定义 namespace   use Weicot\Core\Data as Data;
│  │  │  ├─Model        //业务逻辑                  必需定义 namespace   use Weicot\Core\Model as Model;
│  │  │  └─View         //视图 及静态文件            不应使用 namespace 开头
│  │  └─Base             //基础模块
│  │      ├─Block
│  │      ├─Controller
│  │      ├─Data
│  │      ├─Model
│  │      └─View
│  └─etc     配置文件存放的地方
├─── bootstrap.php 加载文件
├─bin         命令行
├─lib         依赖库
│  └─Core    核心依赖库
│         ├─Block.php
│         ├─Controller.php
│         ├─Databse.php   //数据库类文件
│         ├─Run.php     //Run  控制器文件
│         └─ ...
├─media       媒体文件   比如 CSV IMAGE SQL
│  └─SQL     SQL 文件存放的地方
├─skin        样式文件
│  ├─adminhtml  后台样式
│  │  ├─css   css 文件
│  │  ├─img    img 文件
│  │  └─js    js  文件
│  └─frontend  前端样式
│      ├─css
│      ├─img
│      └─js   
├─var         临时目录
│  └─cache   缓存目录
└─vendor      依赖库 或第三方库存放的地方
    ├─composer 依赖库
    └─第三方库
 */
 /**********************************************  开发规范 **************************************************
 * 1.命名空间 开头必需大写  namespace  Weicot\Core\Controller
 * 2.类名开头大写 用驼峰法命名 class  BaseExample{}
 * 3.应用文件开头必需大写 /Core
 * 4.函数 开头小写  public function setValue()
 * 6.以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
 * N.每个模块必需写出详细的说明文档
 * {
 * 1.日期
 * 2.作者
 * 3.功能
 * 4.返回类型
 *}
 **********************************************************************************************************/
/*
 *
 *  * 目录  app/
 * use Weicot\App\Note as Note
 */
 
 
namespace Weicot\App;
class Note{
    public function setNote(){
 
    }
};
//--------------------BUG-----------------------
/**
 * WeiCot Framework
 * User: ajiang
 * WebSite: WWW.WEICOT<COM
 * Date: 2016/6/4 0004
 * Time: 15:31
 */
namespace A;
class A
{
 
    public function  F()
    {
 
    }
 
}
namespace B;
 
use A\A as A;
 
class B extends A
{
 
    public function F()
    {
 
        $this->F();//爆内存错误 死循环
 
    }
}
 
 
$B=new B();
$B->F();
 
//Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 65488 bytes) in D:\newcov\htdocs\dev\test.php on line 29
 
/*****************************************新版声明 结束 ************************************************/
 
 
 
 
/******************************************以下是旧版声明************************************************
 * Created by PhpStorm.
 * User: jiang
 * Date: 2015/05/12
 * Time: 22:20
 * 开始日期 2015 02 12
 * 版本 0.1.2
 * www.weicot.com
 * 默认编码 UTF-8  : 额外编码 GBK
 * code  -
 *         -app
 *           --Naem 应用名     应用名 第一个字母必需大写
 *             -Block          视图块  关于视图的和块缓存 /前端 HTML 代码存放的地方
 *             -Controller     控制器  路由及分发 调用 /不可重复利用代码 集合 前端 视图 及控制器
 *             -DB             数据库  所有数据库操作集合 /数据操作 函数存放的地方    此处应是 CLASS
 *             -Model          模型集合  业物逻辑 /业务逻辑存放的地方   【此地方 不应出现 前端代码】 此处只能是 CLASS
 *  关于 Model
 *   1.Model 下面的 php 文件 第一个字母必需大写   使用驼峰式命名法
 *   2.Model 下的 文件名 应该 与其类名保持一致
 *   3.必需是CLASS
 *  关于命名空间
 *   2.
 *
 ******************************   WeicotFramework 的目录结构  2015 05 12 日版本 ***************************************
├─app 应用目录
│  ├─code  代码
│  │  ├─Acma 记账应用
│  │  │  ├─Block      视图块  关于视图的和块缓存
│  │  │  ├─Controller 控制器  路由及分发 调用 不可重复利用代码 集合
│  │  │  ├─DB         数据库  所有数据库操作集合
│  │  │  └─Model      模型集合   业物逻辑
│  │  ├─Base 基础
│  │  │  ├─Block
│  │  │  ├─Controller
│  │  │  ├─DB
│  │  │  └─Model
│  │  ├─Mail 。。。
│  │  │  ├─Block
│  │  │  ├─Controller
│  │  │  ├─DB
│  │  │  └─Model
│  │  └─Test 。。。。
│  │      ├─block
│  │      ├─controller
│  │      ├─db
│  │      └─model
│  └─etc 配置文件    默认名字格式 是  /app/【应用名】  第一个字母必需大写
├─lib 依赖库
│  └─Core  核心加载文件
├─media  媒体
├─skin  样式及图片
│  ├─css
│  ├─img
│  └─js
 * *********************************************************************************************************************
 */

转载请注明:(●--●) Hello.My Weicot » Composer WF PHP 框架 加载结构的 主要加载个文件 对比

蜀ICP备15020253号-1