什么是最好的做法和最佳地点的拉拉4助手或基本功能?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

所以我想了解一下在LALAVEL 4中设置全局功能的最佳位置。例如:日期格式。我不认为做一个立面是值得的,正面太模块化了。我读过关于创建库文件夹和在那里存储类的文章,但对于一个简单的函数来说,这似乎也是很多。另外,像这样的“工具”不应该在刀片模板中使用吗?

对于这样的事情,最好的做法是什么?如何使刀片模板可用?

提问于
用户回答回答于

bootstrap/start.php,添加一个include('tools.php')然后把你的功能放在那个新文件里。

干净的方法:创建一个库。那样的话,只有当你真正使用它时,它才会自动上手。

  • 创建一个libraries文件夹在您的app文件夹
  • 创建库文件,在其中创建类,并向其中添加静态函数。
  • 备选案文1*编辑start/global.php添加app_path().'/libraries'ClassLoader::addDirectories(阵列。
  • 备选案文2*编辑composer.json添加"app/libraries"autoload阵列。跑composer dump-autoload
  • 从视图中调用类和静态函数。

关于选项,引用自global.php档案

除了使用Composer之外,您还可以使用Laravel类加载器加载控制器和模型。这对于将所有类保持在“全局”命名空间中而不更新Composer非常有用。

组合这两个选项,Laravel类加载程序将自动搜索已注册目录中的类

用户回答回答于

我这样做的方法是在/app目录在您的Laravel 4项目的根目录中。然后将此文件夹添加到/app/start/global.php文件如下:

<?php

ClassLoader::addDirectories(array(

app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/classes', // This line is the one I've added.

));

只要文件夹结构在新的/app/classes文件夹遵循您的命名空间约定。Laravel 4将自动加载此文件夹中的所有类/文件。

如果创建了一个名为/app/classes/Helpers/Helper.php例如:

<?php namespace Helpers;

class Helper {

    public static function helloWorld()
    {
        return 'Hello World';
    }
}

你所需要做的就是打电话Helpers\Helper::helloWorld();

可以/app/config/app.php档案。只需将类似的内容添加到aliases阵列:

'Helper'          => 'Helpers\Helper'

扫码关注云+社区