小编Lau*_*nce的帖子

Laravel在路由组上进行过滤,但仅限于后期请求

我正在使用安静的控制器.我需要运行一些过滤器,如auth和自定义权限.所以我将它们放在路由组中并在该组上设置过滤器.另外我还想运行csrf过滤器,但仅限于发布请求.如何在路由组中执行此操作?

添加了澄清代码

Route::group(array('before' => 'auth|allowed|csrf'), function() {
    Route::controller('controller', 'SomeController');
    Route::controller('othercontroller', 'OtherController');
});
Run Code Online (Sandbox Code Playgroud)

我只想在帖子路线上使用csrf.我真的不想在每个控制器上添加一个过滤器(有很多);

laravel laravel-4

2
推荐指数
1
解决办法
4601
查看次数

Laravel Redirect :: route()在vhost上转到错误的url

我今天正在编写一些代码并发送了一个代码Redirect::route().它没有像往常一样重定向到base_url/route,而是像这样重复了base_url:

http://myurl.dev/http://myurl.dev/myroute

我想我做错了,所以我回去试图找出问题.我最终用一个新的vhost启动了一个新项目,并在app/routes.php中放了一小段代码:

Route::get(
    'test1',
    [
        'as' => 'test1',
        function () {
            return Redirect::route('test2');
        }
    ]
);

Route::get(
    'test2',
    [
        'as' => 'test2',
        function () {
            return 'test2hello';
        }
    ]
);
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中打开http://myurl.dev/test1时,而不是只显示"test2hello",它抛出了http找不到错误,因为http://myurl.dev/http://myurl.dev/test2不是找到.这只会发生Redirect::route(),它按预期工作Redirect::to().它也只发生在虚拟主机上; Redirect::route()如果我去localhost/myurl/public/test1,按预期工作.有任何想法吗?


更新:

我被问到我的vhost设置.我在Mac OSX 10.8.5上使用内置Apache.我已经取消注释了/etc/apache2/httpd.conf中httpd-vhosts.conf include行.我在/etc/apache2/extra/httpd-vhosts.conf中添加了几个vhost ,这里有一个:

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/example_blog/public"
    ServerName example_blog.local
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

/ etc/hosts中的相应行:

127.0.0.1   example_blog.local
Run Code Online (Sandbox Code Playgroud)

并重新启动Apache.该文件夹已命名example_blog.local.

php vhosts laravel laravel-4

2
推荐指数
1
解决办法
1530
查看次数

具有多个“方法”的自定义 artisan 命令(采用 migrate:install 等风格)

我正在为我的 Laravel 4 应用程序创建一个自定义 artisan 命令 (foo)。我可以从用户指南中看到如何接受参数和选项,例如

php artisan foo argument --option
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要一个具有许多“方法”的自定义 artisan 命令,其风格与某些内置 artisan 命令(例如migrate:install )相同,该怎么办?我想做一些类似的东西:

php artisan foo:baz argument --option
Run Code Online (Sandbox Code Playgroud)

基于:冒号分隔符实现不同方法的推荐方法是什么?到目前为止,我发现尝试的只是为每个“方法”创建一个全新的 artisan 命令。有更有效的方法吗?

laravel-4

2
推荐指数
1
解决办法
2715
查看次数

Laravel 4动态路由 - Overkill?

我们正在建立一个我们可以解决的Laravel 4基础项目.我想创建一个默认的路由规则,允许开发人员轻松敲打新页面,而不必担心向控制器添加路由,但要使其可以为任何更复杂的路由/控制器添加其他路由.

我创建了以下路由规则,但我想知道它是否过度杀伤.我自己对Laravel很新,所以我不确定我是否会以错误的方式解决这个问题,所以我想我会发布它并得到一些反馈.

Route::any('{controller}/{action?}/{args?}', function($controller, $action = 'index', $args = '')
{
    $cont = "Controller";
    $notFound = "NotFound";
    $params = explode("/", $args);
    $app = app();

    if (!class_exists($controller.$cont) || !function_exists($contName.$cont.".".$action)) {
        $controller = $notFound;
        $action = 'index';
    }

    $controller = $app->make($controller.$cont);
    return $controller->callAction($app, $app['router'], $action, $params);

 })
->where(array(
    'controller' => '[^/]+',
    'action' => '[^/]+',
    'args' => '[^?$]+'
));
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-4

2
推荐指数
1
解决办法
1238
查看次数

在laravel 4.1 Query Builder中使用变量

如何在laravel查询构建器中使用变量.这是我的代码.

$role = 1;
$user = DB::table('users')
                    ->join('assigned_roles', function($join)
                    {
                        $join->on('users.id', '=', 'assigned_roles.user_id')
                             ->where('assigned_roles.role_id', '=', $role );
                    })
                    ->get();
Run Code Online (Sandbox Code Playgroud)

但它返回Undefined变量:role.我怎么解决这个问题.帮帮我吧.

php laravel-4

2
推荐指数
1
解决办法
2115
查看次数

如何为Laravel 4包创建命令?

文档我们可以在Laravel 4.1中为包创建一个命令:

php artisan command:make AssignUsers --bench="vendor/package"
Run Code Online (Sandbox Code Playgroud)

但似乎无法正常工作,我收到以下错误消息:

[RuntimeException]
"--bench"选项不存在.

有没有办法为Laravel 4包创建命令?

php laravel-4

2
推荐指数
1
解决办法
1814
查看次数

Laravel Routes:获取序列问题?

刚刚从 Raphael Saunier 那里获得了“Laravel 4 入门”电子书并尝试了本教程,同时在 routes.php 中编写 Route::get 时出现错误提示

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Run Code Online (Sandbox Code Playgroud)

当我写这样的代码时

Route::get('cats/{cat}', function($cat){
    return View::make('cats.single')->with('cat', $cat);
});

Route::get('cats/create', function() {
$cat = new Cat;
return View::make('cats.edit')
->with('cat', $cat)
->with('method', 'post');
});
Run Code Online (Sandbox Code Playgroud)

但是从packtpub下载源文件后,我交叉检查所有代码完全相同,但只有顺序不同,像这样

Route::get('cats/create', function() {
$cat = new Cat;
return View::make('cats.edit')
->with('cat', $cat)
->with('method', 'post');
});

Route::get('cats/{cat}', function($cat){
    return View::make('cats.single')->with('cat', $cat);
});
Run Code Online (Sandbox Code Playgroud)

像这样的路由序列差异在routes.php 上是否重要?我现在怎么能错误来自路线序列?

php laravel laravel-4

2
推荐指数
1
解决办法
570
查看次数

Laravel检查返回现场

我想检查从我们的网页重定向到另一个链接如果用户从浏览器点击返回我必须警惕用户,例如'Backword Forbidden ...'

我正在使用此代码并且不适用于我:

$referer = Request::header('referer');
Run Code Online (Sandbox Code Playgroud)

或者如何检查巫婆网址用户对我们网站的支持?

php laravel laravel-4

2
推荐指数
1
解决办法
3247
查看次数

扩展资源控制器

我正在以某种方式做我想做的事情,而我正在寻找替代方案或更好的方法.我在我的应用程序中使用资源控制器.我也在几个型号中使用softdelete,所以我的路线如下:

Route::get('users/deleted', array('uses' => 'UserController@trash'));
Route::put('users/{id}/restore', array('uses' => 'UserController@restore'));
Route::resource('users', 'UserController');
Run Code Online (Sandbox Code Playgroud)

第一个路径是显示已删除的对象.第二个允许我恢复这些删除的元素.第三种映射传统方法(创建,编辑,更新等).

我有几个控制器以完全相同的方式工作,我想知道是否有任何方法告诉laravel默认使用这两种方法(垃圾和删除)没有两个额外的行.

可能吗?或者提供一个更好的方式,我正在做什么?(抱歉英文不好)

laravel laravel-4

2
推荐指数
1
解决办法
1940
查看次数

尝试运行artisan dump-autoload时proc_open错误

当我尝试运行php artisan dump-autoload时,我收到此错误:

 root@server:/var/mysite# php artisan dump-autoload
 Generating optimized class loader

   [Symfony\Component\Process\Exception\RuntimeException]
   The Process class relies on proc_open, which is not available on your PHP installation.

 dump-autoload

 root@server:/var/mysite#
Run Code Online (Sandbox Code Playgroud)

我在DigitalOcean上使用Ubuntu 12.10 x64.

任何的想法?

php ubuntu laravel composer-php

2
推荐指数
1
解决办法
5575
查看次数

标签 统计

laravel-4 ×9

laravel ×7

php ×7

composer-php ×1

ubuntu ×1

vhosts ×1