thinkphp에 대한 약간의 지식

炎欲天舞
풀어 주다: 2023-03-14 17:54:02
원래의
1682명이 탐색했습니다.

thinkphp를 사용하여 백엔드를 구축할 때 구성해야 할 매개변수가 많이 있습니다. 그 중 일부는 기억할 수 없고 찾아보아야 합니다. 다음은 몇 가지 기본 매개변수와 단편적인 지식 사항입니다. 여러분.

알림: 이 구성은 thinkphp3.2.3용입니다~~

1. 프론트엔드와 백엔드를 분리하세요


//定义应用目录define('BIND_MODULE','Admin');drfine('App_PATH','./Application');
로그인 후 복사

프로젝트의 보안과 유지 관리의 용이성을 위해 일반적으로 하나의 항목 파일이 사용되며, 프런트엔드와 백엔드가 분리되어 있는 경우 상황이 정의되면 구성 파일의 코드가 변경됩니다. 쉽게 관리할 수 있도록 프런트엔드와 백엔드가 분리된 백엔드 파일 입구가 나타날 수 있습니다. 홈 폴더를 직접 복사하고 컨트롤러와 모델의 네임스페이스를 변경할 수도 있습니다.

2. 뷰 파일의 접미사를 설정하세요


    'TMPL_TEMPLATE_SUFFIX' => '.php', // 默认模板文件后缀
로그인 후 복사

3. 데이터베이스에 연결하세요


    'DB_TYPE'   => 'mysql', // 数据库类型
    'DB_HOST'   => 'localhost', // 服务器地址
    'DB_NAME'   => 'wish', // 数据库名
    'DB_USER'   => 'root', // 用户名
    'DB_PWD'    => 'root', // 密码
    'DB_PORT'   => 3306, // 端口
    'DB_PREFIX' => 'tp_', // 数据库表前缀
로그인 후 복사

4. 간단하고 실용적인 방법으로 서버 정보를 얻으세요


$info = array(
            '操作系统'=>PHP_OS,
            '运行环境'=>$_SERVER["SERVER_SOFTWARE"],
            '主机名'=>$_SERVER['SERVER_NAME'],
            'WEB服务端口'=>$_SERVER['SERVER_PORT'],
            '网站文档目录'=>$_SERVER["DOCUMENT_ROOT"],
            '浏览器信息'=>substr($_SERVER['HTTP_USER_AGENT'], 0, 40),
            '通信协议'=>$_SERVER['SERVER_PROTOCOL'],
            '请求方法'=>$_SERVER['REQUEST_METHOD'],
            'ThinkPHP版本'=>THINK_VERSION,
            '上传附件限制'=>ini_get('upload_max_filesize'),
            '执行时间限制'=>ini_get('max_execution_time').'秒',
            '服务器时间'=>date("Y年n月j日 H:i:s"),
            '北京时间'=>gmdate("Y年n月j日 H:i:s",time()+8*3600),
            '服务器域名/IP'=>$_SERVER['SERVER_NAME'].' [ '.gethostbyname($_SERVER['SERVER_NAME']).' ]',
            '用户的IP地址'=>$_SERVER['REMOTE_ADDR'],
            '剩余空间'=>round((disk_free_space(".")/(1024*1024)),2).'M',
        );
        $this->info=$info;
로그인 후 복사

5. 생성자 __ 초기화() 및 __construct()

PHP 내장 함수에는 __initialize() 생성자가 없으며 하위 클래스에 자체 생성자(__construct())가 있는 경우 자체 생성자만 호출합니다. 초기화하려면 상위 클래스의 생성자를 호출하여 자신을 초기화하세요. 하위 클래스와 상위 클래스에 모두 __construct() 함수가 있는 경우 하위 클래스를 초기화할 때 상위 클래스의 __constrcut()을 동시에 호출하려면 하위 클래스에서 parent:: __construct()를 사용하면 됩니다.
ThinkPHP에서 __ 초기화()의 등장은 프로그래머가 하위 클래스를 작성할 때 parent:: __ constructor()를 자주 사용하는 것을 피하고 동시에 프레임워크에서 상위 클래스의 생성자를 올바르게 호출할 수 있도록 돕기 위한 것입니다. ThnikPHP를 사용하십시오. 하위 클래스를 초기화할 때 __ constructor() 대신 __ 초기화()를 사용하십시오.

6. 리디렉션 방법

이 방법은 U 함수를 호출하여 실제 URL 리디렉션 주소를 생성합니다. 리디렉션의 그룹 간 점프는 단지 a라는 개념을 추가하는 것뿐입니다. 그룹화된 프로젝트 이름입니다. 리디렉션 방법의 매개변수 사용은 U 함수의 사용과 일치하여 URL 주소를 생성할 수 있습니다.
와 성공/오류의 차이점:
redirect는 PHP 헤더 리디렉션을 사용하는 반면, 성공/오류는 html 메타 http-equiv='Refresh' 속성 점프를 사용합니다.
Redirect에는 템플릿 페이지가 없습니다. 출력 프롬프트 정보는 함수 내에서 에코로 직접 출력되지만 성공/오류에는 해당 템플릿이 있습니다.
리디렉션과 성공/오류 모두 페이지 점프를 구현할 수 있지만, 리디렉션은 특정 상황에 따라 지연 없이 리디렉션될 수 있습니다.

7.thinkphp 파일 업로드

thinkphp를 사용하여 파일 업로드용 디렉터리를 설정할 때 지정된 폴더를 찾을 수 없다는 오류가 발생할 수 있는데 구성에서 savePath를 사용하여 설정했습니다. 그것은 단지 작동하지 않습니다.
오류가 발생하는 이유는 업로드의 savePath 매개변수 설정만으로는 충분하지 않기 때문입니다. 업로드의 루트 디렉터리 rootPath도 설정해야 합니다. 즉, 작동할 수 있도록 rootPath 매개변수를 설정하기만 하면 됩니다.


rreee

위 내용은 thinkphp에 대한 약간의 지식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿