1. 뷰 컨트롤러에서 리소스 파일의 절대 경로를 생성하기 위해 $this->res() 메서드를 사용합니다
$this->res('css/style.css');
생성된 연결은 http://youdomain.com/static/css/style.css입니다.
2. 지정한 앱의 이름을 가진 연결 생성
$this->appUrl() 첫 번째 매개 변수는 기초 url이고, 두 번째 매개 변수는 앱 이름, 세 번째 매개 변수입니다.컨트롤러용: 메서드 네 번째 매개 변수는 열입니다.표, 다섯 번째 매개 변수는 암호화 연결 생성 여부를 나타냅니다.
3. 레이아웃 파일에서 뷰 컨트롤러를 호출하는 방법
레이아웃 파일에 $this->action() 을 직접 사용하면 뷰 컨트롤러의 메소드를 호출할 수 있습니다. 다음 예와 같습니다
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="Keywords" content="<?php echo isset($keywords) ? $keywords : "기본 키워드"); ?>"/>
<meta name="Description" content="<?php echo isset($description) ? $description : '기본 설명'; ?>"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php echo isset($title)?$title:'기본 제목' ?></title>
<?php $this->loadRes() ?>
</head>
<body>
<?php echo isset($content)?$content:'' ?>
</body>
</html>
4. 템플릿에 링크 생성
템플릿에서 url 메서드 호출, 자동으로 연결이 생성될 수 있으며, 다른 이름이 있는 경우 다른 이름을 먼저 사용할 수 있습니다
$this->url('controller:action', array('key'=>'value'));
5. 컨트롤러에서 다른 컨트롤러로 이동
$this->to([controller:action, params, sec])
지정된 페이지로 이동하면, 이 방법은 $this ->view ->link()의 연결이며, url을 생성한 후 header 함수로 점프한다.
6. 컨트롤러에서 보기 불러오기
$this->display([data, method, http_response_status])
보기 제어를 호출합니다. $this ->view ->display() 연결.
7. 컨트롤러에서 매개 변수 받기
현재 url을 가정하여
http://domain/skeleton/htdocs/web/controller/action/p1/1/p2/2
메서드 내에서 컨트롤러의 $this->params 속성을 사용하면 매개 변수의 값을 얻을 수 있습니다.
namespace app\web\controllers;
use Cross\MVC\Controller;
class User extends Controller
{
function index()
{
print_r($this->params);
}
}
skeleton/ app/ web/ init.php의 값이 url['type'] = 3일 때 연결된 인덱스 배열로 출력합니다
Array ( 'p1' => 1 'p2' => 2 )
출력 결과는 앱 프로필에 있는 url 항목의 설정에 따라 차이가 있을 수 있습니다
8. 컨트롤러에서 modules 사용
컨트롤러에서 modules 사용, UserModules 사용예:
namespace app\web\controllers;
use Cross\MVC\Controller;
class User extends Controller
{
function index()
{
$USER = new UserModules();
}
}
클래스 내 각 action이 UserModules에 의존한다면, UserModules를 초기화하는 작업을 생성자에 넣을 수 있다
namespace app\web\controllers;
use Cross\MVC\Controller;
class User extends Controller
{
/**
* @var UserModule
*/
protected $USER;
function __construct()
{
parent::__construct();
$this->USER = new UserModule();
}
function index()
{
}
}
컨트롤러에서 볼 수 있게 된 후 바로 제공하는 방법을 실행하고 있었다. modules
9. 길에서 보기 틀. 방문은 지정
http://up.kuman.com/api/getWithdrawInfo(은 URL을 고정으로 쓰지만, 이 방식은 일반적인 온라인과 로컬 디버깅이 같은 도메인 이름을 사용하지 않는다는 단점이 있습니다. 만약 직접 고정으로 작성한다면, 우리가 정의한 경로를 하나씩 변경해야 할 것입니다.)
그래서 crossPHP에서는 이런 식으로 라우팅하는 것을 추천한다.
'개발 꿀팁 > PHP' 카테고리의 다른 글
Nginx가 Upstream을 사용하여 움직임 분리하기 (0) | 2022.07.27 |
---|---|
PHP 정책 패턴 쓰기 (0) | 2022.07.27 |
php zip 압축 파일 읽기 (스트리밍 동작) (0) | 2022.07.27 |
php 원형 페이지 (0) | 2022.07.27 |
Docker의 PHP 설치 방법 (0) | 2022.07.26 |