当前位置:首页 > PHP

php实现tinker

2026-02-28 07:30:45PHP

PHP 实现类似 Laravel Tinker 的功能

Laravel Tinker 是一个基于 PsySH 的 REPL(交互式解释器),允许在命令行中与 Laravel 应用交互。要在 PHP 中实现类似功能,可以借助 PsySH 或其他 REPL 工具。

安装 PsySH

通过 Composer 安装 PsySH:

composer require psy/psysh

基本实现

创建一个简单的 PHP 脚本加载 PsySH:

php实现tinker

<?php
require __DIR__ . '/vendor/autoload.php';

$shell = new \Psy\Shell();
$shell->run();

集成 Laravel 环境

如果需要像 Laravel Tinker 那样访问 Laravel 服务容器:

<?php
require __DIR__ . '/vendor/autoload.php';

$app = require_once __DIR__ . '/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$kernel->bootstrap();

$shell = new \Psy\Shell();
$shell->setScopeVariables(get_defined_vars());
$shell->run();

自定义配置

可以通过配置文件定制 PsySH 行为:

php实现tinker

$config = new \Psy\Configuration([
    'startupMessage' => '<info>Custom PHP Tinker</info>',
]);
$shell = new \Psy\Shell($config);

添加自定义命令

扩展 PsySH 的功能:

class MyCommand extends \Psy\Command\Command
{
    protected function configure()
    {
        $this->setName('mycmd');
    }

    protected function execute(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output)
    {
        $output->writeln('Custom command executed');
    }
}

$shell->addCommands([new MyCommand()]);

运行方式

保存脚本为 tinker.php 后执行:

php tinker.php

替代方案

对于非 Laravel 项目,可以考虑:

  • Boris:轻量级 PHP REPL
  • PhpRepl:另一个 PHP 交互式解释器
  • PHP 内置交互模式:php -a

标签: phptinker
分享给朋友:

相关文章

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class Tr…

php实现websocket

php实现websocket

PHP 实现 WebSocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过多种方式实现 WebSocket 功能,以下是几种常见的方法: 使用 Rat…

php 实现接口

php 实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不包含具体的实现。类可以实现(implement)接口,并必须实现接口中定义的所有方法。 定义接口 接口…

php队列的实现

php队列的实现

PHP队列的实现方式 PHP中实现队列功能可以通过多种方式,根据需求选择适合的方案: 使用数组实现基础队列 PHP数组本身支持队列操作,利用array_push和array_shift函数:…

php实现定时

php实现定时

PHP 实现定时任务的方法 PHP 本身是脚本语言,通常需要借助外部工具或框架实现定时任务。以下是几种常见方法: 使用 Cron 任务 Linux 系统自带的 Cron 是常用的定时任务工具。通过…

php数组实现

php数组实现

PHP 数组的基本实现 PHP 数组是一种非常灵活的数据结构,可以存储多个值,并且支持多种类型的键(整数或字符串)。PHP 数组实际上是有序映射(ordered map),可以看作是列表(vector…