问题标签 [tinker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2806 浏览

laravel - Laravel 修补模式

如果我运行php artisan tinkerCLI 将打开

现在我输入一个像“test”这样的词,然后按回车键。

  • 我进入了什么模式?
  • 如何退出此模式?(ctrl+c 退出 tinker,但实际上我只想能够像往常一样再次执行命令,这意味着我输入一个命令,当我按下返回键时,它将被执行)
  • 如何在这种模式下执行命令。如果我在此模式下按 Enter,我将移至下一行,但不会执行该命令。
0 投票
1 回答
1414 浏览

laravel - 使用 Tinker/Laravel 创建虚拟数据

在 Tinker 中,App\Models\Project::all();返回所有项目的列表。现在我想添加额外的虚拟数据factory(App\Models\Project::class, 10)->create();,但什么也没发生。

我做错了什么,我该如何调试它?

0 投票
1 回答
1271 浏览

php - PHP Artisan Tinker 不适用于 Laravel 5.4 和 PHP 7.0.1

我刚刚在我的 Laravel 项目 5.4 中添加了修补程序。当我尝试运行时:

我收到以下错误:

我尝试过授予各种文件夹的权限。还尝试将 Tinker 类添加到 console/kernel.php。

0 投票
6 回答
3620 浏览

php - PHP Artisan Tinker 无法写入配置路径

我以前使用过 Tinker,但突然停止工作,无论是什么项目,什么版本,新的或现有的。我正在使用带有 zsh 的 macbook pro 2013、mac os Sierra、iterm2。我已经进行了全面研究,除了堆栈溢出中对https://github.com/bobthecow/psysh/issues/382的一个引用之外没有发现任何相关的东西,它没有显示解决方案,不是 laravel 特定的,但似乎是涉及 psy shell(所有其他工匠命令都可以):

vagrant@homestead:~/Code/application$ php artisan tinker

是我显示的错误。Vagrant 是通过运行 homestead-7 的虚拟盒子设置的。

当我 ssh 进入 vagrant 和 ls -la 时,我看到了 .config 文件夹,但由于访问被拒绝错误,我无法访问它,我也无法 mkdir mvdir。(如果我从下面的堆栈跟踪中了解到错误被触发的位置?touchfilemkdir 所在的跟踪顶部?)该文件夹本身由 vagrant 所有。我可以确定错误触发的位置,但我不知道为什么它可能会触发,无论我使用什么版本的 laravel,无论是现有项目还是新下载。

在 laravel 项目本身中,我有

在 composer.json 和

位于 app/cofig/app.php 中。

我确实运行了一个详细的堆栈跟踪,尽管我不确定它所指向的内容或原因。

/home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/ConfigPaths.php:213 Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n/a trigger_error() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/ConfigPaths.php:213 Psy\ConfigPaths::touchFileWithMkdir() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Configuration.php:361 Psy\Configuration->setHistoryFile() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Configuration.php:409 Psy\Configuration->getHistoryFile() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Configuration.php:546 Psy\Configuration->getReadline() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Shell.php:82 Psy\Shell->__construct() at /home/vagrant/Code/lightpointLP/vendor/laravel/tinker/src/Console/TinkerCommand.php:53 Laravel\Tinker\Console\TinkerCommand->handle() at n/a:n/a call_user_func_array() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87 Illuminate\Container\BoundMethod::callBoundMethod() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31 Illuminate\Container\BoundMethod::call() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/Container.php:539 Illuminate\Container\Container->call() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Console/Command.php:182 Illuminate\Console\Command->execute() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Command/Command.php:264 Symfony\Component\Console\Command\Command->run() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Console/Command.php:167 Illuminate\Console\Command->run() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Application.php:874 Symfony\Component\Console\Application->doRunCommand() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Application.php:228 Symfony\Component\Console\Application->doRun() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Application.php:130 Symfony\Component\Console\Application->run() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:122 Illuminate\Foundation\Console\Kernel->handle() at /home/vagrant/Code/lightpointLP/artisan:35

如果可能需要任何其他信息,我很乐意提供,我真的不知道发生了什么或如何解决它。谢谢

更新 8 月 31 日所以我发现当我在 vagrant@homestead 和我 sudo su 时,当我在 root@homestead:/home/vagrant# 并输入 .config 时,有一个 configstore 目录和一个 psysh 目录,但它是由根拥有。我将所有者更改为 vagrant,退出,重新加载 vagrant 和相同的错误。 drwx------ 2 root root 4096 May 4 00:55 configstore drwxr-xr-x 2 vagrant vagrant 4096 Aug 31 23:37 psysh

然后我尝试了 sudo -i 并得到了 root@homestead 但发现 .config 的内容不同。这次它有 .composer 目录并且没有 psysh 存在。所以我添加了以 vagrant 作为所有者的 psysh 目录, drwxr-xr-x 2 root root 4096 Feb 26 2017 composer drwxr-xr-x 2 vagrant vagrant 4096 Aug 31 23:59 psysh 但这仍然不起作用。我也退出了,重新加载了 vagrant,我在两者上都配置了:cleared,但我得到了同样的无法写入错误。

我很茫然,请任何见解都会有所帮助。谢谢!

0 投票
0 回答
1349 浏览

php - Laravel Tinker:找不到类“Psy\Exception\ErrorException”

我正在尝试运行 Laravel 5.5 修补程序,但是当我尝试运行工厂命令时出现异常。例如:

当我尝试运行时,可以说另一个存储库中的 User:class 命令它可以正常工作。

扩展错误消息:

我已经尝试过的:

  • 从 composer.json 中删除并重新添加 laravel/tinker
0 投票
0 回答
44 浏览

caching - laravel5.5 缓存无法进入控制台或修补程序

我使用 laravel5.5,在控制台或 tinker 上使用缓存对象,但我尝试在控制台或 tinker 中使用缓存,返回 null!为什么?我发现只使用 reids 对象是可以的,但尝试交换缓存驱动器也错误!

0 投票
3 回答
1560 浏览

php - laravel 5.5:php artisan tinker:ErrorException:目录不为空

我正在使用窗户。...在我的 CMD 中,正在使用 tinker、myql、serve 等...它们都运行良好...

突然,当我退出 tinker 并再次进入 tinker 时...出现此错误

[ErrorException] rmdir(C:\Users\robert\AppData\Local\Temp\php-xdg-runtime-dir-fallback-): Directory not empty

然后果然,我尝试删除,我不能尝试将文件夹重命名为其他内容,它有效......“php artisan tinker”工作......但我无法运行通常的命令 $user = App\User::all(); 然后我退出......然后输入再次修补……再次 [ErrorException] rmdir(C:\Users\robert\AppData\Local\Temp\php-xdg-runtime-dir-fallback-): Directory not empty

首先,我搜索了类似的问题,但解决方案对我不起作用(PHP Artisan Tinker not working with Laravel 5.5.16

其次,我尝试制作laravel new NewProject,运行修补程序......仍然相同 ErrorException

第三,我尝试了composer updateor composer require laravel/tinker... 然后添加Laravel\Tinker\TinkerServiceProvider::class,里面的 config/app.php => providers.... 还是一样的 ErrorException

顺便说一句,这是全长错误

``` php artisan tinker -vvv --ansi ? [37;41m ?[39;49m ?[37;41m [ErrorException] ?[39;49m ?[37;41m rmdir(C:\Users\robert\AppData\Local\Temp\php-xdg-runtime-dir- fallback-): 目录不为空 ?[39;49m ?[37;41m ?[39;49m

```

有人可以帮忙吗?谢谢

0 投票
1 回答
1488 浏览

php - 如何使用每个循环的 tinker 为数据库虚拟数据播种 - Laravel PHP

我尝试使用修补程序命令为我的 mysql 数据库播种,并且正在努力组合两个每个循环...

我有一张表电影、用户和收视率。我想为数据库播种 10 部电影、3 个用户,并为每个用户对每部电影评分。

我将数据放入用户和电影这两个表中,并将它们保存到 $movies 和 $users。并尝试使用以下行为每部电影的 user_id 和 movie_id 创建 3 个评分。

回显 $movies 和 $users 向我显示数据在那里。最后一行给了我一个错误:HP Notice: Undefined variable: users on line 2

试图简化测试的语法:

有同样的错误。

我猜是 $users 变量没有在第一个函数中定义?我必须在第一个函数中定义 $users 吗?如果我不想为每部电影创建 3 个新用户,我该怎么做?也许我可以使用for循环以某种方式遍历用户并以这种方式检索用户ID?

提前感谢您帮助我

0 投票
1 回答
1637 浏览

php - Laravel Tinker 创建具有构造函数作为接口的新对象

我正在尝试使用 Laravel Tinker 创建一个具有构造函数作为接口的新对象。MyClass.php

接口接口.php

我想在修补程序中测试我的课程,所以我所做的是:

  1. php artisan tinker
  2. >> $a = new App\MyClass(new App\ApiInterface);

我得到的错误是:

PHP 致命错误:在第 1 行的 eval() 代码中找不到类“App\ApiInterface”

修补匠不允许我做我觉得修补匠无法将接口识别为类的事情

任何想法 ?

谢谢

0 投票
1 回答
448 浏览

laravel - Laravel 命令,如 tinker

我想知道是否有任何方法可以在 laravel 中运行临时命令?就像在修补匠中一样,但没有修补匠?

我希望能够在不使用 tinker 的情况下运行临时命令?

例子:

我想每 5 秒运行一次?