Heim  >  Artikel  >  Backend-Entwicklung  >  Ein paar kleine Kenntnisse über thinkphp

Ein paar kleine Kenntnisse über thinkphp

炎欲天舞
炎欲天舞Original
2017-08-07 09:16:381629Durchsuche

Bei der Verwendung von thinkphp zum Erstellen des Backends müssen viele Parameter konfiguriert werden und müssen nachgeschlagen werden. Hier sind einige grundlegende Parameter und einige fragmentarische Wissenspunkte sie mit jedem. Es kann für jeden bequem sein.

Freundliche Erinnerung: Diese Konfigurationen gelten für thinkphp3.2.3~~

1. Separate Front- und Backends


//定义应用目录define('BIND_MODULE','Admin');drfine('App_PATH','./Application');

Für die Sicherheit und einfache Wartung eines Projekts wird normalerweise eine Eintragsdatei verwendet. Wenn Front- und Backend getrennt sind, wird der Code beim Definieren in der Konfigurationsdatei geändert. Es kann ein Backend-Dateieingang angezeigt werden, wobei Front- und Backend zur einfacheren Verwaltung getrennt sind. Sie können den Home-Ordner auch direkt kopieren und den Namensraum im Controller und Modell ändern.

2. Legen Sie das Suffix der Ansichtsdatei fest


    'TMPL_TEMPLATE_SUFFIX' => '.php', // 默认模板文件后缀

3. Stellen Sie eine Verbindung zur Datenbank her


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

4. Einfache und praktische Möglichkeit, Serverinformationen zu erhalten


$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.

Es gibt keinen __initialize()-Konstruktor in den integrierten Funktionen von PHP. Es gibt nur den __construct()-Konstruktor. Wenn die Unterklasse einen eigenen Konstruktor (__construct()) hat, heißt er Initialize it Wenn nicht, rufen Sie den Konstruktor der übergeordneten Klasse auf, um ihn selbst zu initialisieren. Wenn sowohl die Unterklasse als auch die übergeordnete Klasse über __construct()-Funktionen verfügen und Sie beim Initialisieren der Unterklasse gleichzeitig __constrcut() der übergeordneten Klasse aufrufen möchten, können Sie parent::__construct() in der Unterklasse verwenden.
Das Erscheinen von __ initialize() in ThinkPHP dient nur dazu, Programmierern zu helfen, die häufige Verwendung von parent::__ construction() beim Schreiben von Unterklassen zu vermeiden und gleichzeitig den Konstruktor der übergeordneten Klasse im Framework korrekt aufzurufen. Wenn wir also eine Unterklasse in ThnikPHP initialisieren, verwenden wir __ initialize() anstelle von __ construction().

6. Umleitungsmethode

Diese Methode ruft die U-Funktion auf, um die tatsächliche URL-Umleitungsadresse zu generieren, die mit der URL-Zugriffsadresse in der Projektgruppe Redirect identisch ist Über Gruppen hinweg fügt Jump lediglich das Konzept der Gruppierung von Projektnamen hinzu. Die Parameterverwendung der Umleitungsmethode stimmt mit der Verwendung der U-Funktion überein, um URL-Adressen zu generieren . Der Unterschied zwischen
und success/error:
redirect verwendet die PHP-Header-Umleitung, während success/error den HTML-Meta-Attributsprung http-equiv='Refresh' verwendet.
Redirect hat keine Vorlagenseite und die Ausgabeaufforderungsinformationen werden direkt per Echo innerhalb der Funktion ausgegeben, während Success/Error über entsprechende Vorlagen verfügt.
Sowohl Umleitung als auch Erfolg/Fehler können einen Seitensprung realisieren, aber die Umleitung kann ohne Verzögerung umleiten. Welche davon verwendet wird, hängt von der jeweiligen Situation ab.

7. thinkphp-Datei-Upload

Beim Verwenden von thinkphp zum Festlegen des Verzeichnisses zum Hochladen von Dateien kann ein Fehler auftreten, der darauf hinweist, dass der angegebene Ordner nicht gefunden werden kann, sondern in In der Konfiguration wurde savePath zum Festlegen verwendet, aber es funktioniert einfach nicht.
Der Grund für den Fehler ist, dass das bloße Festlegen des Parameters savePath des Uploads nicht ausreicht. Das Stammverzeichnis rootPath des Uploads muss ebenfalls festgelegt werden. Mit anderen Worten: Legen Sie einfach die rootPath-Parameter fest, damit es funktionieren kann.


 $upload=new \Think\Upload(); //实例化上传类
 $upload->maxSize=3145728;  //设置附件上传大小
 $upload->exts=array('jpg','gif','png','jpeg'); //设置附件上传类型
 $upload->savePath='./Public/Uploads/'; //设置附件上传目录
 //这个rootPath根目录千万不能忘记设置,要不savePath会找不到相应的文件夹
 $upload->rootPath='/.';

Das obige ist der detaillierte Inhalt vonEin paar kleine Kenntnisse über thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn