dongzh1988 2015-01-08 11:51
浏览 140
已采纳

将Laravel包含在自定义PHP脚本中并路由到控制器

Let's say there's a web-based PHP project which uses an independent framework and also contains a folder with Laravel 4.2:

project/
    laravel/ (Laravel install)
        app/
            routes.php
        public/
            index.php
    index.php
    test.php
    .htaccess

The .htaccess file rewrites every query to the independent framework's index.php, unless a PHP script is requested (e.g., project/test.php).

In this case, test.php contains require laravel/public/index.php to include Laravel's index.php script. The URI to access this is http://example.com/test.php.

How can I make use of Laravel's routing to pick up on this script? I've tried this:

Route::get('/test.php', function()
{
    echo 'success';exit;
});

But that doesn't work (I've tried test.php and just test). Dumping Route::getCurrentRoute() outputs this:

object(Illuminate\Routing\Route)[126]
  protected 'uri' => string '/' (length=1)
  ...
  protected 'compiled' => 
    object(Symfony\Component\Routing\CompiledRoute)[135]
      ...
      private 'staticPrefix' => string '/' (length=1)
      ...

Is it possible to access http://example.com/test.php and have Laravel's Routing see it as if /test or /test.php has been requested, without making changes to the independent framework's .htaccess file?

  • 写回答

1条回答 默认 最新

  • douliangpo0128 2015-01-14 08:35
    关注

    You are not forced to use Laravel routing, you can bypass it with pure PHP:

    if($_SERVER['REQUEST_URI'] === '/test.php')
    {
        exit('success');
    }
    

    But in your case, you probably should redirect all requests to Laravel with the .htaccess and fall back to root index.php when Laravel does not handle the page:

    App::missing(function($exception)
    {
        include('../../index.php');
        exit;
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。