pickles2/px2agent 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

pickles2/px2agent

Composer 安装命令:

composer require pickles2/px2agent

包简介

Pickles 2 と PHP スクリプトを仲介するAPIを提供します。

关键字:

README 文档

README

pickles2/px2agent は、Pickles 2 と PHP スクリプトを仲介するAPIを提供します。

Linux Windows
master
develop

インストール - Installation

$ composer require pickles2/px2agent;

使い方 - Usage

$px2agent = new picklesFramework2\px2agent\px2agent();
$px2proj = $px2agent->createProject('/path/to/.px_execute.php');


/**
 * Pickles 2 にクエリを投げて、結果を受け取る (汎用)
 */
$data = $px2proj->query('/?PX=phpinfo', array(
	"output": "json",
));

/**
 * PXコマンドを実行する
 */
$result = $px2proj->px_command(
    'publish.run',
    '/index.html',
    array('path_region' => "/region/")
);

/**
 * バージョン番号を取得する
 */
$value = $px2proj->get_version();


/**
 * configデータを取得する
 */
$value = $px2proj->get_config();

/**
 * サイトマップデータを取得する
 */
$value = $px2proj->get_sitemap();

/**
 * pathまたはidからページ情報を得る
 */
$value = $px2proj->get_page_info('/');

/**
 * 親ページのIDを取得する
 */
$value = $px2proj->get_parent('/sample_pages/');

/**
 * 子階層のページの一覧を取得する
 */
$value = $px2proj->get_children('/');

/**
 * 子階層のページの一覧を、filterを無効にして取得する
 */
$value = $px2proj->get_children('/', array('filter' => false));

/**
 * 同じ階層のページの一覧を取得する
 */
$value = $px2proj->get_bros('/sample_pages/');

/**
 * 同じ階層のページの一覧を、filterを無効にして取得する
 */
$value = $px2proj->get_bros('/sample_pages/', array('filter' => false));

/**
 * 同じ階層の次のページのIDを取得する
 */
$value = $px2proj->get_bros_next('/sample_pages/');

/**
 * 同じ階層の次のページのIDを、filterを無効にして取得する
 */
$value = $px2proj->get_bros_next('/sample_pages/', array('filter' => false));

/**
 * 同じ階層の前のページのIDを取得する
 */
$value = $px2proj->get_bros_prev('/sample_pages/');

/**
 * 同じ階層の前のページのIDを、filterを無効にして取得する
 */
$value = $px2proj->get_bros_prev('/sample_pages/', array('filter' => false));

/**
 * 次のページのIDを取得する
 */
$value = $px2proj->get_next('/sample_pages/');

/**
 * 次のページのIDを、filterを無効にして取得する
 */
$value = $px2proj->get_next('/sample_pages/', array('filter' => false));

/**
 * 前のページのIDを取得する
 */
$value = $px2proj->get_prev('/sample_pages/');

/**
 * 前のページのIDを、filterを無効にして取得する
 */
$value = $px2proj->get_prev('/sample_pages/', array('filter' => false));

/**
 * パンくず配列を取得する
 */
$value = $px2proj->get_breadcrumb_array('/sample_pages/');

/**
 * ダイナミックパス情報を得る
 */
$value = $px2proj->get_dynamic_path_info('/sample_pages/');

/**
 * ダイナミックパスに値をバインドする
 */
$value = $px2proj->bind_dynamic_path_param('/dynamicPath/{*}', array('' => 'abc.html'));

/**
 * role を取得する
 */
$role = $px2proj->get_role('/sample_pages/actor1.html');

/**
 * Actor のページID一覧を取得する
 */
$actors = $px2proj->get_actors('/sample_pages/role.html');

/**
 * get home directory path
 */
$value = $px2proj->get_realpath_homedir();

/**
 * コンテンツルートディレクトリのパス(=install path) を取得する
 */
$value = $px2proj->get_path_controot();

/**
 * DOCUMENT_ROOT のパスを取得する
 */
$value = $px2proj->get_realpath_docroot();

/**
 * get content path
 */
$value = $px2proj->get_path_content('/');

/**
 * ローカルリソースディレクトリのパスを得る
 */
$value = $px2proj->path_files('/', '/images/sample.png');

/**
 * ローカルリソースディレクトリのサーバー内部パスを得る
 */
$value = $px2proj->realpath_files('/', '/images/sample.png');

/**
 * ローカルリソースのキャッシュディレクトリのパスを得る
 */
$value = $px2proj->path_files_cache('/', '/images/sample.png');

/**
 * ローカルリソースのキャッシュディレクトリのサーバー内部パスを得る
 */
$value = $px2proj->realpath_files_cache('/', '/images/sample.png');

/**
 * コンテンツ別の非公開キャッシュディレクトリのサーバー内部パスを得る
 */
$value = $px2proj->realpath_files_private_cache('/', '/images/sample.png');

/**
 * domain を取得する
 */
$value = $px2proj->get_domain();

/**
 * directory_index(省略できるファイル名) の一覧を得る
 */
$value = $px2proj->get_directory_index();

/**
 * 最も優先されるインデックスファイル名を得る
 */
$value = $px2proj->get_directory_index_primary();

/**
 * ファイルの処理方法を調べる
 */
$value = $px2proj->get_path_proc_type('/sample_pages/');

/**
 * リンク先のパスを生成する
 */
$value = $px2proj->href('/sample_pages/');

/**
 * パスがダイナミックパスにマッチするか調べる
 */
$value = $px2proj->is_match_dynamic_path('/sample_pages/');

/**
 * ページが、パンくず内に存在しているか調べる
 */
$value = $px2proj->is_page_in_breadcrumb('/sample_pages/', '/');

/**
 * 除外ファイルか調べる
 */
$value = $px2proj->is_ignore_path('/sample_pages/');


/**
 * パブリッシュする
 */
$output = $px2proj->publish( array(
	"path_region" => "/path/region/",
	"paths_region" => array(
		"/path/region1/",
		"/path/region2/"
	),
	"paths_ignore" => array(
		"/path/region/ignored/1/",
		"/path/region/ignored/2/"
	),
	"keep_cache" => 1,
) );

/**
 * キャッシュを削除する
 */
$output = $px2proj->clearcache();

PHPバイナリのパスを指定する場合 - Specifying path to PHP binary

$px2agent = new picklesFramework2\px2agent\px2agent( array(
    'bin' => '/path/to/php',
    'ini' => '/path/to/php.ini',
    'extension_dir' => '/path/to/ext/',
) );
$px2proj = $px2agent->createProject('/path/to/.px_execute.php');

開発者向け情報 - for developers

開発環境セットアップ - Setting up development environment

$ cd {$project_root}
$ composer install

テスト - Test

$ composer test

ドキュメント出力 - JSDoc

$ composer run-script documentation

更新履歴 - Change log

pickles2/px2agent v0.2.0 (2023年6月25日)

  • PHP 8.2 に対応した。

pickles2/px2agent v0.1.0 (2022年1月8日)

  • サポートするPHPのバージョンを >=7.3.0 に変更。
  • PHP 8.1 に対応した。

pickles2/px2agent v0.0.4 (2022年1月3日)

  • PHPコマンドのパスが引き回されない不具合を修正。

pickles2/px2agent v0.0.3 (2021年1月16日)

  • $pj->query() に、新しいオプション methodbodybody_file を追加。

pickles2/px2agent v0.0.2 (2020年12月19日)

  • Windows で、コマンド中に % が含まれる場合に失敗する問題を修正。

pickles2/px2agent v0.0.1 (2020年8月12日)

  • Initial Release.

ライセンス - License

MIT License

作者 - Author

pickles2/px2agent 适用场景与选型建议

pickles2/px2agent 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.2k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 08 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「pickles2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 pickles2/px2agent 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 pickles2/px2agent 我们能提供哪些服务?
定制开发 / 二次开发

基于 pickles2/px2agent 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 4.2k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 16
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 3
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-08-11