pstaender/ssshell

ssshell 是一个 SilverStripe 的 REPL。在 PsySH 上运行 🚀

安装次数1,307

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 2

开放问题: 0

类型:silverstripe-vendormodule

v0.1.2 2024-06-21 06:12 UTC

This package is auto-updated.

Last update: 2024-09-21 19:30:10 UTC


README

在 Psy Shell 上运行的 SilverStripe REPL 🚀

status

安装

使用以下命令在当前项目中安装:

  $ 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
…