px2agent
v2.0.7
Published
Pickles 2 と NodeJS スクリプトを仲介するAPIを提供します。
Downloads
7
Readme
px2agent
px2agent は、Pickles 2 と NodeJS スクリプトを仲介するAPIを提供します。
使い方 - Usage
var px2proj = require('px2agent').createProject('./.px_execute.php');
/**
* Pickles 2 にクエリを投げて、結果を受け取る (汎用)
*/
px2proj.query('/?PX=phpinfo', {
"output": "json",
"userAgent": "Mozilla/5.0",
"success": function(data){
console.log(data);
},
"complete": function(data, code){
console.log(data, code);
}
});
/**
* PXコマンドを実行する
*/
px2proj.px_command(
'publish.run',
'/index.html',
{path_region: "/region/"},
function(result){
console.log(result);
}
);
/**
* バージョン番号を取得する
*/
px2proj.get_version(function(value){
console.log(value);
});
/**
* configデータを取得する
*/
px2proj.get_config(function(value){
console.log(value);
});
/**
* サイトマップデータを取得する
*/
px2proj.get_sitemap(function(value){
console.log(value);
});
/**
* pathまたはidからページ情報を得る
*/
px2proj.get_page_info('/', function(value){
console.log(value);
});
/**
* 親ページのIDを取得する
*/
px2proj.get_parent('/sample_pages/', function(value){
console.log(value);
});
/**
* 子階層のページの一覧を取得する
*/
px2proj.get_children('/', function(value){
console.log(value);
});
/**
* 子階層のページの一覧を、filterを無効にして取得する
*/
px2proj.get_children('/', {filter: false}, function(value){
console.log(value);
});
/**
* 同じ階層のページの一覧を取得する
*/
px2proj.get_bros('/sample_pages/', function(value){
console.log(value);
});
/**
* 同じ階層のページの一覧を、filterを無効にして取得する
*/
px2proj.get_bros('/sample_pages/', {filter: false}, function(value){
console.log(value);
});
/**
* 同じ階層の次のページのIDを取得する
*/
px2proj.get_bros_next('/sample_pages/', function(value){
console.log(value);
});
/**
* 同じ階層の次のページのIDを、filterを無効にして取得する
*/
px2proj.get_bros_next('/sample_pages/', {filter: false}, function(value){
console.log(value);
});
/**
* 同じ階層の前のページのIDを取得する
*/
px2proj.get_bros_prev('/sample_pages/', function(value){
console.log(value);
});
/**
* 同じ階層の前のページのIDを、filterを無効にして取得する
*/
px2proj.get_bros_prev('/sample_pages/', {filter: false}, function(value){
console.log(value);
});
/**
* 次のページのIDを取得する
*/
px2proj.get_next('/sample_pages/', function(value){
console.log(value);
});
/**
* 次のページのIDを、filterを無効にして取得する
*/
px2proj.get_next('/sample_pages/', {filter: false}, function(value){
console.log(value);
});
/**
* 前のページのIDを取得する
*/
px2proj.get_prev('/sample_pages/', function(value){
console.log(value);
});
/**
* 前のページのIDを、filterを無効にして取得する
*/
px2proj.get_prev('/sample_pages/', {filter: false}, function(value){
console.log(value);
});
/**
* パンくず配列を取得する
*/
px2proj.get_breadcrumb_array('/sample_pages/', function(value){
console.log(value);
});
/**
* ダイナミックパス情報を得る
*/
px2proj.get_dynamic_path_info('/sample_pages/', function(value){
console.log(value);
});
/**
* ダイナミックパスに値をバインドする
*/
px2proj.bind_dynamic_path_param('/dynamicPath/{*}', {'':'abc.html'}, function(value){
console.log(value);
});
/**
* role を取得する
*/
px2proj.get_role('/sample_pages/actor1.html', function(role){
console.log(role);
});
/**
* Actor のページID一覧を取得する
*/
px2proj.get_actors('/sample_pages/role.html', function(actors){
console.log(actors);
});
/**
* get home directory path
*/
px2proj.get_realpath_homedir(function(value){
console.log(value);
})
/**
* コンテンツルートディレクトリのパス(=install path) を取得する
*/
px2proj.get_path_controot(function(value){
console.log(value);
});
/**
* DOCUMENT_ROOT のパスを取得する
*/
px2proj.get_realpath_docroot(function(value){
console.log(value);
});
/**
* get content path
*/
px2proj.get_path_content('/', function(value){
console.log(value);
});
/**
* ローカルリソースディレクトリのパスを得る
*/
px2proj.path_files('/', '/images/sample.png', function(value){
console.log(value);
});
/**
* ローカルリソースディレクトリのサーバー内部パスを得る
*/
px2proj.realpath_files('/', '/images/sample.png', function(value){
console.log(value);
});
/**
* ローカルリソースのキャッシュディレクトリのパスを得る
*/
px2proj.path_files_cache('/', '/images/sample.png', function(value){
console.log(value);
});
/**
* ローカルリソースのキャッシュディレクトリのサーバー内部パスを得る
*/
px2proj.realpath_files_cache('/', '/images/sample.png', function(value){
console.log(value);
});
/**
* コンテンツ別の非公開キャッシュディレクトリのサーバー内部パスを得る
*/
px2proj.realpath_files_private_cache('/', '/images/sample.png', function(value){
console.log(value);
});
/**
* domain を取得する
*/
px2proj.get_domain(function(value){
console.log(value);
});
/**
* directory_index(省略できるファイル名) の一覧を得る
*/
px2proj.get_directory_index(function(value){
console.log(value);
});
/**
* 最も優先されるインデックスファイル名を得る
*/
px2proj.get_directory_index_primary(function(value){
console.log(value);
});
/**
* ファイルの処理方法を調べる
*/
px2proj.get_path_proc_type('/sample_pages/', function(value){
console.log(value);
});
/**
* リンク先のパスを生成する
*/
px2proj.href('/sample_pages/', function(value){
console.log(value);
});
/**
* パスがダイナミックパスにマッチするか調べる
*/
px2proj.is_match_dynamic_path('/sample_pages/', function(value){
console.log(value);
});
/**
* ページが、パンくず内に存在しているか調べる
*/
px2proj.is_page_in_breadcrumb('/sample_pages/', '/', function(value){
console.log(value);
});
/**
* 除外ファイルか調べる
*/
px2proj.is_ignore_path('/sample_pages/', function(value){
console.log(value);
});
/**
* パブリッシュする
*/
px2proj.publish({
"path_region": "/path/region/",
"paths_region": [
"/path/region1/",
"/path/region2/"
],
"paths_ignore": [
"/path/region/ignored/1/",
"/path/region/ignored/2/"
],
"keep_cache": 1,
"success": function(output){
// console.log(output);
},
"complete":function(output){
console.log(output);
}
});
/**
* キャッシュを削除する
*/
px2proj.clearcache({
"success": function(output){
// console.log(output);
},
"complete":function(output){
console.log(output);
}
});
PHPバイナリのパスを指定する場合 - Specifying path to PHP binary
var px2proj = require('px2agent').createProject(
'./px_execute.php',
{
'bin': '/path/to/php',
'ini': '/path/to/php.ini',
'extension_dir': '/path/to/ext/'
}
);
開発者向け情報 - for developers
開発環境セットアップ - Setting up development environment
$ cd {$project_root}
$ composer install
$ npm install
テスト - Test
$ npm test
ドキュメント出力 - JSDoc
$ npm run documentation
更新履歴 - Change log
px2agent v2.0.7 (2021年1月16日)
pj.query()
に、新しいオプションmethod
、body
、bodyFile
を追加。
px2agent v2.0.6 (2019年8月12日)
pj.px_command()
を追加。
px2agent v2.0.5 (2017年3月14日)
- pickles2/[email protected] 対応
pj.publish()
にkeep_cache
オプションを追加。pj.publish()
にpaths_region
オプションを追加。pj.get_path_homedir()
をpj.get_realpath_homedir()
に改名。(古いメソッド名の実装は残されているが非推奨)pj.get_path_docroot()
をpj.get_realpath_docroot()
に改名。(古いメソッド名の実装は残されているが非推奨)
px2agent v2.0.4 (2016年2月22日)
- pickles2/[email protected] 対応
pj.publish()
にpaths_ignore
オプションを追加。
px2agent v2.0.3 (2015年11月9日)
- pickles2/[email protected] 対応
- アクター機能
pj.get_role()
,pj.get_actors()
を追加。
px2agent v2.0.2 (2015年9月15日)
- PHPが異常終了した場合の例外をキャッチし、
false
を返すようになった。
px2agent v2.0.1 (2015年9月10日)
- PHPのパスを指定した場合の引数
-c
と-d
に関する不具合を修正。 - オプション
extension_dir
を追加。
px2agent v2.0.0 (2015年6月28日)
- Initial Release.
ライセンス - License
MIT License
作者 - Author
- (C)Tomoya Koyanagi [email protected]
- website: https://www.pxt.jp/
- Twitter: @tomk79 https://twitter.com/tomk79/