<pre class="wp-block-syntaxhighlighter-code">
// 客户端 - 素材
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/client-resource'],
'tokens' => ['{id}' => '<id:\\w[\\w,:;]*>'],
'extraPatterns' => [
'POST resource' => 'create',
'POST make-up' => 'makeup',
'POST del-or-recovery' => 'del-or-recovery',
],
],
</pre>
<pre class="wp-block-syntaxhighlighter-code">
// 客户端 -- 任务管理 - 素材
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/client-resource'],
'only' => ['index', 'create', 'update', 'edit', 'list', 'delete'],
'tokens' => ['{id}' => '<id:\\w[\\w,:;]*>'],
],
</pre>
<pre class="wp-block-syntaxhighlighter-code">
// 客户端 - 素材
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/client-resource'],
'only' => ['resource', 'make-up', 'del-or-recovery'],
'tokens' => ['{id}' => '<id:\\w[\\w,:;]*>'],
'extraPatterns' => [
'POST resource' => 'resource',
'POST make-up' => 'make-up',
'POST del-or-recovery' => 'del-or-recovery',
],
],
</pre>
/**
* @inheritdoc
*/
public function actions()
{
$actions = parent::actions();
$actions['create'] = [
'class' => 'api\rests\client_resource\ResourceAction',
'modelClass' => $this->modelClass,
];
$actions['makeup'] = [
'class' => 'api\rests\client_resource\ResourceUpdateAction',
'modelClass' => $this->modelClass,
];
$actions['del-or-recovery'] = [
'class' => 'api\rests\client_resource\DelOrRecoveryAction',
'modelClass' => $this->modelClass,
];
return $actions;
}
/**
* @inheritdoc
*/
public function actions()
{
$actions = parent::actions();
// 禁用"index"、"view"、"create"、"update"、"delete"、"options"动作
unset($actions['index'], $actions['view'], $actions['create'], $actions['update'], $actions['delete'], $actions['options']);
$actions['resource'] = [
'class' => 'api\rests\client_resource\ResourceAction',
'modelClass' => $this->modelClass,
'checkAccess' => [$this, 'checkAccess'],
];
$actions['make-up'] = [
'class' => 'api\rests\client_resource\ResourceUpdateAction',
'modelClass' => $this->modelClass,
'checkAccess' => [$this, 'checkAccess'],
];
$actions['del-or-recovery'] = [
'class' => 'api\rests\client_resource\DelOrRecoveryAction',
'modelClass' => $this->modelClass,
'checkAccess' => [$this, 'checkAccess'],
];
return $actions;
}
<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\modules\v1\controllers;
/**
* Menu controller for the `v1` module
*/
class ClientResourceController extends \api\controllers\ClientResourceController
{
public $modelClass = 'api\modules\v1\models\Resource';
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\modules\v1\controllers;
/**
* ClientResource controller for the `v1` module
*/
class ClientResourceController extends \api\controllers\ClientResourceController
{
public $modelClass = 'api\modules\v1\models\Resource';
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
// 任务管理 - 素材
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/plan-task-resource'],
'only' => ['index','delete','create'],
'tokens' => ['{id}' => '<id:\\w[\\w,:;]*>'],
'extraPatterns' => [
'POST resource' => 'create',
],
],
</pre>
<pre class="wp-block-syntaxhighlighter-code">
// 任务管理 - 素材
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/plan-task-resource'],
'only' => ['index', 'delete', 'resource'],
'tokens' => ['{id}' => '<id:\\w[\\w,:;]*>'],
'extraPatterns' => [
'POST resource' => 'resource',
],
],
</pre>
/**
* @inheritdoc
*/
public function actions()
{
$actions = parent::actions();
$actions['delete']['class'] = 'api\rests\plan_task_resource\DeleteAction';
$actions['index']['class'] = 'api\rests\plan_task_resource\IndexAction';
$actions['create'] = [
'class' => 'api\rests\plan_task_resource\ResourceAction',
'modelClass' => $this->modelClass,
];
return $actions;
}
/**
* @inheritdoc
*/
public function actions()
{
$actions = parent::actions();
// 禁用"view"、"create"、"update"、"options"动作
unset($actions['view'], $actions['create'], $actions['update'], $actions['options']);
$actions['delete']['class'] = 'api\rests\plan_task_resource\DeleteAction';
$actions['index']['class'] = 'api\rests\plan_task_resource\IndexAction';
$actions['resource'] = [
'class' => 'api\rests\plan_task_resource\ResourceAction',
'modelClass' => $this->modelClass,
'checkAccess' => [$this, 'checkAccess'],
];
return $actions;
}

<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\modules\v1\controllers;
/**
* Menu controller for the `v1` module
*/
class PlanTaskResourceController extends \api\controllers\PlanTaskResourceController
{
public $modelClass = 'api\modules\v1\models\Resource';
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\modules\v1\controllers;
/**
* PlanTaskResource controller for the `v1` module
*/
class PlanTaskResourceController extends \api\controllers\PlanTaskResourceController
{
public $modelClass = 'api\modules\v1\models\Resource';
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
// 移动端 - 任务素材
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/mobile/plan-task-resource'],
'only' => ['index','delete','create'],
'tokens' => ['{id}' => '<id:\\w[\\w,:;]*>'],
'extraPatterns' => [
'POST resource' => 'create',
],
],
</pre>
<pre class="wp-block-syntaxhighlighter-code">
// 移动端 - 任务 - 素材
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/mobile/plan-task-resource'],
'only' => ['index', 'delete', 'resource'],
'tokens' => ['{id}' => '<id:\\w[\\w,:;]*>'],
'extraPatterns' => [
'POST resource' => 'resource',
],
],
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\controllers\mobile;
class PlanTaskResourceController extends \api\controllers\PlanTaskResourceController
{
public $serializer = [
'class' => 'api\rests\mobile\plan_task_resource\Serializer',
'collectionEnvelope' => 'items',
];
/**
* @inheritdoc
*/
public function actions()
{
$actions = parent::actions();
$actions['delete']['class'] = 'api\rests\mobile\plan_task_resource\DeleteAction';
$actions['index']['class'] = 'api\rests\mobile\plan_task_resource\IndexAction';
$actions['create']['class'] = 'api\rests\mobile\plan_task_resource\ResourceAction';
return $actions;
}
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\controllers\mobile;
class PlanTaskResourceController extends \api\controllers\PlanTaskResourceController
{
public $serializer = [
'class' => 'api\rests\mobile\plan_task_resource\Serializer',
'collectionEnvelope' => 'items',
];
/**
* @inheritdoc
*/
public function actions()
{
$actions = parent::actions();
$actions['delete']['class'] = 'api\rests\mobile\plan_task_resource\DeleteAction';
$actions['index']['class'] = 'api\rests\mobile\plan_task_resource\IndexAction';
$actions['resource']['class'] = 'api\rests\mobile\plan_task_resource\ResourceAction';
return $actions;
}
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace api\rests\mobile\plan_task_resource;
/**
* Action is the base class for action classes that implement RESTful API.
*
* For more details and usage information on Action, see the [guide article on rest controllers](guide:rest-controllers).
*
* @author Qiang Wang <shuijingwanwq@163.com>
* @since 1.0
*/
class Action extends \api\rests\plan_task_resource\Action
{
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace api\rests\mobile\plan_task_resource;
class Action extends \api\rests\plan_task_resource\Action
{
}
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\rests\mobile\plan_task_resource;
use Yii;
use yii\db\ActiveRecord;
use yii\rest\Action;
use yii\web\ServerErrorHttpException;
use api\models\Resource;
use api\models\PlanTask;
class ResourceAction extends \api\rests\plan_task_resource\ResourceAction
{
}
</pre>

<pre class="wp-block-syntaxhighlighter-code">
<?php
namespace api\rests\mobile\plan_task_resource;
class ResourceAction extends \api\rests\plan_task_resource\ResourceAction
{
}
</pre>
PHP / Laravel / Yii2 老项目维护与长期技术支持
如果你的 PHP / Laravel / Yii2 项目已经上线,但遇到原开发离职、Bug 长期无人修复、接口不稳定、性能下降、代码难以接手等问题,可以联系我做一次远程技术排查。
适合以下情况:
✅ 老旧 PHP 系统无人维护
✅ Laravel / Yii2 项目 Bug 修复
✅ 后台管理系统小功能迭代
✅ RESTful API 接口排查
✅ MySQL / Redis / Nginx 性能问题
✅ 长期远程兼职维护
可先从一次小问题开始:
✅ 线上报错排查
✅ 接口异常分析
✅ 慢查询与性能瓶颈定位
✅ 代码结构初步评估
✅ 部署环境与日志检查
如需咨询,请联系我,并注明:PHP 维护咨询。
联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

发表回复