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 框架 加载结构的 主要加载个文件 对比