msamec / mcl
dev-master
2014-07-21 08:35 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
This package is auto-updated.
Last update: 2024-08-29 04:14:24 UTC
README
快速开始
所需设置
在 composer.json 文件的 require 键中添加以下内容
"msamec/mcl": "dev-master"
运行 Composer update 命令
$ composer update
在您的 config/app.php 中,将 'Msamec\Mcl\MclServiceProvider' 添加到 $providers 数组的末尾
'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'Msamec\Mcl\MclServiceProvider', ),
用法
模型
在 models 目录中,您不需要创建 .php 文件,而是创建一个与之前提到的模型同名的文件夹。例如,如果您想创建 User.php 模型,您将创建名为 Something 的文件夹。在该文件夹内部创建一个名为 Main.php 的 .php 文件。如果不存在特定角色的文件,该文件将用作后备。它看起来应该像这样
|-- app | |-- models | | |-- Something | | | |-- Main.php
Main.php 必须有命名空间,因为您为每个模型(文件夹)创建时,它必须包含 Main 类。
示例
<?php namespace Something; class Main extends Eloquent { public static function foo(){ echo 'foo'; } }
接下来,您可以创建不同角色的类。
- 注意
- 如果您的某个角色做了一件事情,而其他角色都做相同的事情,您不需要为每个角色创建角色类并在每个类中定义相同的行为。在 Main 类中定义默认行为,如果不存在特定角色的类,MCL 将回退到该类。
接下来,我们将创建 User 角色的类,并将其命名为 User.php。建议您将角色类命名为与您的应用程序中角色相同的名称。
|-- app | |-- models | | |-- Something | | | |-- Main.php | | | |-- User.php
<?php namespace Something; use Something\Main; class User extends Main { public static function bar(){ echo 'bar'; } }
调用这些模型的通用方法如下所示
Mcl::model('namespace', 'function name', 'role', 'arg1', 'arg2', ...);
示例
Mcl::model('Something', 'bar', 'User'); Mcl::model('Something', 'foo', 'User'); Mcl::model('Something', 'foo', 'NonExistantClass');
结果
bar foo foo
视图
return Mcl::make('view folder', 'role', $data = array(), $merge_data = array());
这是结构应该看起来像的
|-- app | |-- views | | |-- something | | | |-- main.blade.php | | | |-- god.blade.php
基于上述结构,您将使用类似以下代码的代码
return Mcl::make('something', 'God', $someData);
Mcl::make 返回 Laravel 的视图对象,因此您可以像 with->()
和其他方法一样使用 View 方法。