在php开发中,laravel是应用非常广泛的开源框架,很多开发者需要了解php代码怎么运行框架,尤其是基于laravel框架运行php代码的具体操作。laravel框架本身封装了请求处理、依赖注入、路由分发等核心能力,php代码的运行通常会依托这些框架机制,不同场景下的运行方式也存在差异。

运行前的环境准备
要在laravel框架下运行php代码,首先需要完成基础环境配置,确保框架能够正常启动。
- 安装php7.4及以上版本,同时开启fileinfo、mbstring、openssl等必要扩展
- 安装composer依赖管理工具,用于安装和加载laravel框架及第三方包
- 配置好web服务器,比如nginx或者apache,或者使用laravel自带的artisan serve命令启动内置服务器
创建laravel项目
如果还没有laravel项目,可以通过composer快速创建,执行以下命令:
composer create-project laravel/laravel example_app cd example_app
通过路由控制器运行php代码
这是web场景下最常用的php代码运行方式,用户发起请求后,框架会根据路由规则将请求分发到对应的控制器方法,执行其中的php代码并返回响应。
定义路由
打开项目中的routes/web.php文件,添加路由规则,路由文件中的Route类是laravel内置的路由门面,不需要额外引入就可以使用:
<?php
use IlluminateSupportFacadesRoute;
// 定义一个get请求的路由,当访问 /test 路径时执行对应的闭包函数
Route::get('/test', function () {
// 这里可以编写要运行的php代码
$result = 1 + 2;
return "计算结果是:" . $result;
});
创建控制器运行复杂代码
如果php代码逻辑比较复杂,建议使用控制器来组织代码,首先创建控制器:
php artisan make:controller TestController
然后在生成的app/Http/Controllers/TestController.php中添加方法:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class TestController extends Controller
{
// 定义一个处理请求的方法
public function handle()
{
// 这里编写要运行的php业务逻辑
$data = ['name' => 'laravel', 'version' => '10.x'];
// 返回json格式的响应
return response()->json($data);
}
}
再到routes/web.php中关联路由和控制器方法:
Route::get('/test-controller', [TestController::class, 'handle']);
通过命令行运行php代码
如果需要执行定时任务、数据迁移、脚本处理等非web请求的php代码,可以使用laravel的artisan命令行工具,或者编写自定义命令。
执行简单脚本
可以直接使用artisan的tinker交互式命令行工具运行零散的php代码,执行以下命令进入交互模式:
php artisan tinker
进入之后可以直接输入php代码执行,比如:
echo "hello laravel"; $arr = [1,2,3]; print_r($arr);
创建自定义命令
如果需要重复执行固定的php脚本逻辑,可以创建自定义artisan命令,首先生成命令类:
php artisan make:command TestCommand
打开生成的app/Console/Commands/TestCommand.php文件,修改其中的代码:
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
class TestCommand extends Command
{
// 命令名称,执行时使用 php artisan test:run 调用
protected $signature = 'test:run';
// 命令描述
protected $description = '运行自定义php测试代码';
public function __construct()
{
parent::__construct();
}
// 命令执行的逻辑
public function handle()
{
// 这里编写要运行的php代码
$this->info('开始执行自定义命令');
$sum = 10 + 20;
$this->info('计算结果为:' . $sum);
$this->info('命令执行完成');
}
}
之后就可以通过以下命令运行这段php代码:
php artisan test:run
注意事项
- 所有在laravel框架下运行的php代码,都会自动加载框架的自动加载机制,不需要手动引入类文件
- 如果代码需要操作数据库,需要先配置
.env文件中的数据库连接信息 - web场景下运行的php代码要注意请求超时问题,执行时间过长的任务建议使用命令行或者队列处理