yii2
구성 요소
수색…
응용 프로그램 구성 요소 만들기 및 사용
구성 요소를 만드는 단계 :
- 프로젝트 루트 폴더에
components
라는 폴더를 만듭니다. - 구성 요소 폴더 내에 구성 요소 만들기 예 :
MyComponent.php
namespace app\components;
use Yii;
use yii\base\Component;
use yii\base\InvalidConfigException;
class MyComponent extends Component
{
public function demo()
{
return "welcome";
}
}
-
config/web.php
파일에 구성 요소 등록
components' => [
'mycomponent' => [
'class' => 'app\components\MyComponent',
],
]
이제 컴포넌트 메소드를 사용할 수 있습니다.
namespace app\controllers;
use Yii;
class DemoController extends \yii\web\Controller
{
public function actionTest()
{
echo Yii::$app->mycomponent->demo();
}
}
구성 요소 기능을 사용하는 드롭 다운 목록
MyComponent.php에서 함수 만들기
namespace app\components;
use Yii;
use yii\base\Component;
use yii\base\InvalidConfigException;
use yii\helpers\Url;
use yii\helpers\ArrayHelper;
use app\models\User;
class MyComponent extends Component
{
// Function return list of id & user Names,used for dropdownlist
public function getUserID()
{
$code = User::find()->select('id,name')
->where(['is_deleted'=>'n'])
->all();
$result = ArrayHelper::map($code, 'id', 'name');
if($result)
return $result;
else
return ["null"=>"No User"];
}
}
-> web.php의 구성 요소 등록
components' => [
'mycomponent' => [
'class' => 'app\components\MyComponent',
],
]
->보기에서 사용하십시오.
<?= $form->field($model, 'user_id')->dropDownList(Yii::$app->mycomponent->getUserID())?>
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow