Heim >Backend-Entwicklung >PHP-Tutorial >Ein paar kleine Kenntnisse über thinkphp
//定义应用目录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.
'TMPL_TEMPLATE_SUFFIX' => '.php', // 默认模板文件后缀
'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'wish', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => 'root', // 密码 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'tp_', // 数据库表前缀
$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;
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().
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.
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!