pstaender / ssshell
ssshell 是一个 SilverStripe 的 REPL。在 PsySH 上运行 🚀
v0.1.2
2024-06-21 06:12 UTC
Requires
- psy/psysh: ~0.9
- silverstripe/framework: ^4 || ^5
- symfony/console: ^7.0
README
在 Psy Shell 上运行的 SilverStripe REPL 🚀
安装
使用以下命令在当前项目中安装:
$ composer require --dev pstaender/ssshell
使用方法
要使用 ssshell,只需在项目文件夹中输入 ./vendor/bin/ssshell
(如果已全局安装,则可使用 ssshell
)即可开始使用 shell。
Psy Shell v0.12.4 (PHP 8.2.19 — cli) by Justin Hileman
Loading dev environment (SilverStripe CMS: 5.2.2)
>
命令行选项
您可以使用大多数 psysh 的 CLI 参数。输入 psysh -h
获取帮助。
要求
sshell 在 SilverStripe v5 上运行。
对于 SilverStripe v4,您可以使用 ss4
分支,或者通过 composer require pstaender/ssshell 'v0.0.4'
使用版本 v0.0.4。
特性
对象的命名空间和视图
ssshell
随附一组常用命名空间,以便于 REPL 处理。
默认情况下,所有 DataObjects、DataLists、ArrayLists 和 Query 对象将以可读的格式显示。
例如,创建一个 SilverStripe 用户将如下所示:
> Member::create(['Email' => 'editor', 'Password' => 'password'])->write() => 1 > Member::get()->first() => SilverStripe\Security\Member {#3229 +ClassName: "SilverStripe\Security\Member", +LastEdited: "2019-07-01 11:34:54", +Created: "2019-07-01 11:34:54", +Email: "editor", +Password: "$2y$10$9b5f51921992948f40cf7uHeqjQLuG9Bnqf4sq54TBnsB80CmwJhC", +PasswordEncryption: "blowfish", +Salt: "10$9b5f51921992948f40cf75", +Locale: "en_US", +FailedLoginCount: 0, +ID: 1, +RecordClassName: "SilverStripe\Security\Member", +LoggedPasswords: [ [ "ClassName" => "SilverStripe\Security\MemberPassword", "LastEdited" => "2019-07-01 11:34:54", "Created" => "2019-07-01 11:34:54", "Password" => "$2y$10$9b5f51921992948f40cf7uHeqjQLuG9Bnqf4sq54TBnsB80CmwJhC", "Salt" => "10$9b5f51921992948f40cf75", "PasswordEncryption" => "blowfish", "MemberID" => 1, "ID" => 1, "RecordClassName" => "SilverStripe\Security\MemberPassword", ], ], +RememberLoginHashes: [], +LinkTracking: [], +FileTracking: [], +Groups: [], }
Sake 命令
您可以使用所有熟悉的 sake 命令
> sake dev/build Building database SS_test using SilverStripe\ORM\Connect\MySQL 8.0.16 CREATING DATABASE TABLES * File (0 records) * CHECK TABLE command disabled for PDO in native mode * SiteConfig (1 records) …
> sake dev/tasks SILVERSTRIPE DEVELOPMENT TOOLS: Tasks -------------------------- * Migrate SiteTree Linking Task: sake dev/tasks/MigrateSiteTreeLinkingTask * Database Migrations: sake dev/tasks/MigrationTask …
Flush 命令
> flush
使用 sake
与 ?flush
时具有相同的效果。
静态命令
查看类的可用静态属性/方法。
显示静态属性和方法
> static SilverStripe\Control\Director
要只显示其中之一
> static props SilverStripe\Control\Director … > static methods SilverStripe\Control\Director …