thinkphp に関するちょっとした知識

炎欲天舞
リリース: 2023-03-14 17:54:02
オリジナル
1680 人が閲覧しました

thinkphp を使用してバックエンドを構築する場合、設定する必要があるパラメータが多数あり、それらの中には覚えておかなければならないものもあります。ここではいくつかの基本的なパラメータと断片的な知識を紹介します。みんな。

フレンドリーなリマインダー: これらの構成は thinkphp3.2.3~~

1 用です。フロントエンドとバックエンドを分離してください


//定义应用目录define('BIND_MODULE','Admin');drfine('App_PATH','./Application');
ログイン後にコピー

プロジェクトのセキュリティとメンテナンスを容易にするために、通常は 1 つのエントリ ファイルが使用されます。フロントエンドとバックエンドが分離されている状況を定義すると、構成ファイル内のコードが変更されます。バックエンド ファイルの入り口が表示され、管理が容易になるようにフロントとバックエンドが分離されます。ホーム フォルダーを直接コピーして、コントローラーとモデルの名前空間を変更することもできます。

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.コンストラクター __initialize() と __construct()

PHP の組み込み関数には __initialize() コンストラクターはなく、サブクラスに独自のコンストラクター (__construct()) がある場合は、独自のコンストラクターを呼び出します。初期化しない場合は、親クラスのコンストラクターを呼び出して自分自身を初期化します。サブクラスと親クラスの両方に __construct() 関数がある場合、サブクラスの初期化時に同時に親クラスの __constrcut() を呼び出したい場合は、サブクラスでparent:: __construct() を使用できます。

ThinkPHP の __initialize() の出現は、プログラマーがサブクラスを作成するときにparent:: __construct() を頻繁に使用することを回避し、同時にフレームワークで親クラスのコンストラクターを正しく呼び出すことを容易にするためだけです。 ThnikPHP を使用する サブクラスを初期化するときは、__construct() の代わりに __initialize() を使用します。

6. リダイレクトメソッド

このメソッドは、U 関数を呼び出して実際の URL リダイレクト アドレスを生成します。これは、リダイレクトの概念を追加するだけです。グループ化されたプロジェクト名をリダイレクトで使用できます。リダイレクト メソッドのパラメーターの使用法は、U 関数の関連部分を参照して URL アドレスを生成できます。

と成功/エラーの違い:
リダイレクトは PHP ヘッダーのリダイレクトを使用しますが、成功/エラーは HTML メタ http-equiv='Refresh' 属性ジャンプを使用します。
リダイレクトにはテンプレート ページがありません。出力プロンプト情報は関数内の echo によって直接出力されますが、成功/エラーには対応するテンプレートがあります。
リダイレクトと成功/エラーは両方ともページジャンプを実装できますが、リダイレクトは遅延なくリダイレ​​クトできます。どちらが使用されるかは特定の状況によって異なります。

7. thinkphp ファイルのアップロード

thinkphp を使用してファイルをアップロードするディレクトリを設定すると、指定されたフォルダーが見つからないというエラーが発生することがありますが、設定では savePath が使用されています。それはうまくいきません。

エラーの理由は、アップロードの savePath パラメータを設定するだけでは不十分であるため、アップロードのルート ディレクトリ rootPath も設定する必要があります。つまり、rootPath パラメータを設定するだけで機能するようになります。


りー

以上がthinkphp に関するちょっとした知識の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート