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 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题