标签: laravel-5

Laravel 5中定制助手的最佳实践

我想创建辅助函数以避免在Laravel 5中的视图之间重复代码:

view.blade.php

<p>Foo Formated text: {{ fooFormatText($text) }}</p>
Run Code Online (Sandbox Code Playgroud)

它们基本上是文本格式化功能.我在哪里以及如何使用这些功能创建文件?

php laravel laravel-5 laravel-helper

426
推荐指数
16
解决办法
19万
查看次数

Laravel 5无法打开所需的bootstrap /../ vendor/autoload.php

我最近通过作曲家安装了Laravel 5.我尝试使用工匠创建一个新的控制器,我收到以下错误:

自举/../供应商/ autoload.php.无法打开流:没有这样的文件或目录."vendor"文件夹不存在.

我错过了什么吗?

php laravel-5

354
推荐指数
16
解决办法
42万
查看次数

Laravel 5:使用Blade显示HTML

我有一个字符串返回到我的一个视图,如下所示:

$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
Run Code Online (Sandbox Code Playgroud)

我正试图用Blade显示它:

{{$text}}
Run Code Online (Sandbox Code Playgroud)

但是,输出是原始字符串而不是呈现HTML.如何在Laravel 5中使用Blade显示HTML?

PS.PHP echo()正确显示HTML.

laravel blade laravel-5

241
推荐指数
15
解决办法
19万
查看次数

Laravel 5 - 工匠种子[ReflectionException]类SongsTableSeeder不存在

当我运行php artisan db:seed我收到以下错误:

[ReflectionException] Class SongsTableSeeder does not exist
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?

我的DatabaseSeeder类:

<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();

        $this->call('SongsTableSeeder');
    }

}
Run Code Online (Sandbox Code Playgroud)

我的SongsTableSeeder类:

<?php

// Composer: "fzaninotto/faker": "v1.4.0"
use Faker\Factory as Faker;
use Illuminate\Database\Seeder;
use DB;

class SongsTableSeeder extends Seeder {

    public function run()
    {
        $faker = Faker::create();
        $songs = [];
        foreach(range(1, 10) as $index)
        {
            $songs[] = …
Run Code Online (Sandbox Code Playgroud)

laravel composer-php laravel-5 artisan

239
推荐指数
5
解决办法
13万
查看次数

未指定任何应用程序加密密钥

我是Laravel的新手,我正在尝试使用Artisan命令......

php artisan serve
Run Code Online (Sandbox Code Playgroud)

它显示......

Laravel开发服务器启动:http://127.0.0.1:8000

但是,它不会自动启动,当我手动输入http://127.0.0.1:8000时,它会显示以下错误:

RuntimeException未指定应用程序加密密钥.

有任何想法吗?我正在使用Laravel framework 5.5-dev.

php laravel laravel-5 artisan laravel-5.5

222
推荐指数
15
解决办法
26万
查看次数

Laravel检查是否存在记录

我是Laravel的新手.请原谅新手问题,但如何查找记录是否存在?

$user = User::where('email', '=', Input::get('email'));
Run Code Online (Sandbox Code Playgroud)

我该怎么办才能看到是否$user有记录?

php conditional laravel eloquent laravel-5

218
推荐指数
9
解决办法
36万
查看次数

Laravel 5 - 从URL中删除公共

我知道这是一个非常受欢迎的问题,但我无法为Laravel 5找到一个可行的解决方案.我一直在尝试从Codeigniter迁移很长一段时间,但这个错综复杂的安装过程一直让我失望.

我不想运行VM,这在项目之间切换时似乎很尴尬.

我不想将我的文档根目录设置为公共文件夹,这在项目之间切换时也很尴尬.

我试过了.htaccess mod_rewrite方法

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这只是在compiled.php第7610行中给了我一个Laravel NotFoundHttpException.

当我不久前尝试L4时,我使用了将公用文件夹的内容移动到根目录的方法.L5的结构完全不同,按照相同的步骤完全打破了Laravel(服务器只返回一个空白页面).

在开发环境中是否有一种很好的方法可以删除"公共":

  1. 适用于L5
  2. 允许我轻松切换项目(我通常在任何时候工作2或3).

谢谢

**我正在使用MAMP和PHP 5.6.2

php .htaccess mamp laravel laravel-5

215
推荐指数
18
解决办法
20万
查看次数

在Laravel中回滚一个特定的迁移

我想要

仅回滚:

Rolled back: 2015_05_15_195423_alter_table_web_directories


我跑

php artisan migrate:rollback,我的3个迁移正在回滚.

Rolled back: 2015_05_15_195423_alter_table_web_directories
Rolled back: 2015_05_13_135240_create_web_directories_table
Rolled back: 2015_05_13_134411_create_contacts_table
Run Code Online (Sandbox Code Playgroud)

我删除了

无意中我web_directories和我的contacts桌子.可悲的是,我从来不希望这种情况发生,如果我只能回滚那个特定的那个,那么这场灾难将永远不会发生.


我希望

有人可以教我如何防止这种情况再次发生.

任何建议将不胜感激.

database-migration laravel laravel-4 laravel-5

201
推荐指数
11
解决办法
13万
查看次数

如何获取当前路线名称?

在Laravel 4中,我能够使用...获取当前路线名称

Route::currentRouteName()
Run Code Online (Sandbox Code Playgroud)

我怎么能在Laravel 5中做到这一点?

php laravel laravel-routing laravel-5 laravel-6

198
推荐指数
14
解决办法
31万
查看次数

如何为Laravel 5(和其他人)设置文件权限

我正在使用拥有所有者的Apache Web Server _www:_www.我永远不知道文件权限的最佳做法是什么,例如当我创建新的Laravel 5项目时.

Laravel 5要求/storage文件夹可写.我找到了许多不同的方法来使它工作,我通常最终以777递归方式使用chmod.我知道这不是最好的主意.

官方文件说:

Laravel可能需要配置一些权限:Web服务器中的文件夹, storagevendor要求Web服务器进行写访问.

这是否意味着Web服务器本身也需要访问storagevendor文件夹本身或仅需要访问其当前内容?

我认为更好的是改变所有者而不是权限.我递归地更改了所有Laravel的文件权限_www:_www,这使得网站正常工作,就像我将chmod更改为777.问题是,现在我的文本编辑器每次要保存任何文件时都要求我输入密码,如果我尝试在Finder中更改任何内容,就会发生同样的情况,例如复制文件.

解决这些问题的正确方法是什么?

  1. 更改 chmod
  2. 更改文件的所有者以匹配Web服务器的所有者,并可能将文本编辑器(和Finder?)设置为跳过要求输入密码,或者让它们使用 sudo
  3. 更改Web服务器的所有者以匹配os用户(我不知道后果)
  4. 还有别的

php apache file-permissions laravel laravel-5

186
推荐指数
11
解决办法
25万
查看次数