我曾经使用CodeIgniter。在CodeIgniter中,每当我必须创建自己的类时,我都会在库文件夹中创建一个类,并将其用作库。在Laravel中,他们使用包。在文档中,他们还讨论了如何创建自己的包。Laravel 4中的包与CodeIgniter中的库相同吗?
现在似乎很常见的是将自定义类、异常、验证等放入与应用程序对应的命名文件夹中。
例如:
| laravel
| -- AppName/
| -- Exceptions
| -- Repositories
| -- Validation
| -- CustomClasses (your custom class name)
| -- controllers
| -- models
| -- views
要包含在composer中,最简单的方法是包含classmap
作曲家。json
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/AppName"
]
}
如果你想使用psr-4自动加载代替,有一个伟大的免费视频laracast让你开始https://laracasts.com/lessons/psr-4-autoloading
另外,如果你是laracast的会员,我该把这个视频放在哪里正是你要找的问题。https://laracasts.com/lessons/where-do-i-put-this
Laravel的包是来自Composer的第三方库。
你自己的类不适合控制器/模型,你可以去任何你想去的地方,只要你告诉自动加载器在哪里找到它们。我们使用app/libraries
和PSR命名空间约定。
app/libraries
"添加到"autoload-->classmap
"数组中的"composer.json
"中。