php 如何使用Modx Revolution API

edqdpe6u  于 2023-11-16  发布在  PHP
关注(0)|答案(2)|浏览(150)

我有一个客户,他正在考虑让其他公司开发一个iPad应用程序,该应用程序将从现有的modx示例中提取资源。
他们正在寻找使用Modx API,从我可以告诉到目前为止需要有一个连接器或写的东西,因为它不“只是工作”正确?
所以基本上我需要写一个连接器来处理身份验证[API密钥类型的想法]并来回传递所有数据?看这里:http://rtfm.modx.com/display/revolution20/Loading+MODx+Externally我看到了两种连接/使用modx的方法-“外部加载modx”相对于“在API模式下加载modx”的优势是什么?
我很容易就找到了API文档,但在实际使用它时几乎是零。
于是:
1.有API使用文档吗?
1.加载外部与加载作为API方法的优缺点是什么
1.我上面所有的假设都是正确的,还是我错过了一些真正基本的东西?

mfuanj7w

mfuanj7w1#

文档,你已经找到了足够的使用API modx.一旦你连接模式API(http://rtfm.modx.com/display/revolution20/Loading+MODx+Externally-第三个例子我最喜欢)你可以使用modx处理器做任何必要的,作为示例验证用户:

  1. if(isset($_POST) && count($_POST)){
  2. $c = array(
  3. 'username' => $_POST['username'],
  4. 'password' => $_POST['password']
  5. );
  6. $response = $modx->runProcessor('security/login',$c);
  7. if($response->response['success'] == 1){
  8. $user['id'] = $modx->user->get('id');
  9. $profile = $modx->user->getOne('Profile');
  10. $user['fullname'] = $profile->get('fullname');
  11. $user['email'] = $profile->get('email');
  12. echo json_encode($user);
  13. }else{
  14. echo json_encode($response->response);
  15. }
  16. }

字符串
简单获取资源:

  1. if ($res = $modx->getObject('modResource', 1)) {
  2. print_r($res->toArray());
  3. }


或高级获取:

  1. $response = $modx->runProcessor('resource/get', array('id' => 1));
  2. if (!$response->isError()) {
  3. print_r($response->response['object']);
  4. }
  5. else {
  6. $modx->log(modX::LOG_LEVEL_ERROR, $response->getMessage());
  7. }

展开查看全部
pkln4tw6

pkln4tw62#

ModX文档多年来一直不是它的强项,但这里有一些链接。
首先,了解ModX works and was architected是如何工作的,这样你就可以使用它进行开发。
ModX的API参考资料在https://api.modx.com/revolution/2.2/。在那里你可以找到所有可用的方法,它的属性和参数。它不是一个指南,而是一个参考资料,所以不要期望太多的文献。
从2.3版开始,你可以构建你的own API on top of ModX。对于定制REST风格的端点非常有用,但是除非你有一些工作/构建API的经验,否则这可能是一个挑战。
最后,如果您正在寻找更深入的文档check out the books
例如,这是如何使ModX对象从外部可用:

  1. <?php
  2. require_once '/absolute/path/to/modx/config.core.php';
  3. require_once MODX_CORE_PATH.'model/modx/modx.class.php';
  4. $modx = new modX();
  5. $modx->initialize('web');
  6. $modx->getService('error', 'error.modError');

字符串

相关问题