我曾经使用过CodeIgniter。在CodeIgniter中,每当我必须创建自己的类时,我就会在库文件夹中创建一个类并将其用作库。在Laravel他们使用包裹。在文档中,他们还谈到了创建自己的包。 Laravel 4中的包是否与CodeIgniter中的库相同?
答案 0 :(得分:2)
Laravel的软件包是Composer的第三方库。
只要您告诉自动装带器在哪里找到它们,您自己的不适合控制器/型号的类就可以到达您想要的任何位置。我们使用app/libraries
和PSR命名空间约定。如果您这样做,则需要将app/libraries
添加到composer.json
数组中的autoload-->classmap
。
答案 1 :(得分:2)
现在似乎常见的是将自定义类,异常,验证等放入与您的应用程序对应命名的文件夹中。
例如:
| laravel
| -- AppName/
| -- Exceptions
| -- Repositories
| -- Validation
| -- CustomClasses (your custom class name)
| -- controllers
| -- models
| -- views
要包含在作曲家中,最简单的方法是包含类图
composer.json
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/AppName"
]
}
如果您想使用psr-4自动加载,Laracasts上有一个很棒的免费视频可以帮助您入门https://laracasts.com/lessons/psr-4-autoloading
此外,如果您是Laracasts会员,我在哪里放这个视频正是您正在寻找的这个问题。 https://laracasts.com/lessons/where-do-i-put-this