laravel12.laravel_002
最終投稿日:2026年2月3日
<?php
$CHANGE = '/../../laravel_12';
use Illuminate\Foundation\Application;
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));
if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
require $maintenance;
}
#require __DIR__.'/../vendor/autoload.php';
require __DIR__. $CHANGE . '/vendor/autoload.php';
/** @var Application $app */
#$app = require_once __DIR__.'/../bootstrap/app.php';
$app = require_once __DIR__ . $CHANGE . '/bootstrap/app.php';
$app->handleRequest(Request::capture());
public function publicPath($path = '')
{
#return $this->joinPaths($this->publicPath ?: $this->basePath('public'), $path);
return $this->joinPaths($this->publicPath ?: $this->basePath('laravel_12'), $path);
}
// [get][post]アクションを許容する
Route::match(['GET', 'POST'], '/', [App\Http\Controllers\HogeController::class, 'index']);
// パラメータを「hoge」「foo」を渡す(※パラメータは必須となる)
Route::get('/index/{hoge}/{foo}', [App\Http\Controllers\HogeController::class, 'index']);
// パラメータを「hoge」「foo」を渡す(※パラメータは任意となる)
Route::get('/index/{hoge?}/{foo?}', [App\Http\Controllers\HogeController::class, 'index']);
// パラメータに条件を付ける
Route::get('/index/{hoge}', [App\Http\Controllers\HogeController::class, 'index'])->where(['hoge' => '[0-9]+']);
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HogeController extends Controller {
public function index(Request $request) {
return view('hoge/index', []);
}
}
<html>
<head>
<title>ららべる</title>
</head>
<body>
Hoge!!
</body>
</html>
上記2ファイルを修正しますが、フレームワークの処理で稀にエラーとなるケースが発生します。
症状は『publicディレクトリがないよ~』という内容です。
[public]ディレクトリは既に[laravel_12]へリネームしているため、正確な内容は以下です。
『[webroot]である[laravel_12]が、パス[~\app]直下にありません』
この事象は「npm」コマンド等で、中間モジュールをインストールしたりすると発生したりします。
回避策としては、[~\app\laravel_12]を本当に作成する事ですが、ここを[webroot]には出来ません。
従って【シンボリックリンク】を設定する事で回避します。
パス[~\app]のあるディレクトリで『管理者権限』でターミナルを立ち上げ、以下を叩きます。
mklink /D {参照するパス} {実際に存在するパス}
例)
mklink /D laravel_12 C:\MyProject\hoge\webroot\laravel_12