msamec/mcl

dev-master 2014-07-21 08:35 UTC

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 方法。