PHP は、Web サーバーで広く使用されているスクリプト言語であり、アジャイル Web 開発において多くの成功事例、活発なコミュニティ、豊富なリソース、および多くのフレームワークを備えています。 ThinkPHP は、比較的成熟した国産 PHP フレームワークとして国内で多くのユーザーを抱えており、「Geek Academy 徹底した ThinkPHP フレームワーク ビデオ チュートリアル」を通じて、その後の実際のプロジェクトに備えるための ThinkPHP の基礎知識を紹介します。 。
コース再生アドレス: http://www.php.cn/course/322.html
先生の指導スタイル:
講義はフレンドリーで自然で、気取らず、気取らないものです。意図的に誇張するのではなく、雄弁かつ詳細に話し、教師と生徒は平等、協力、調和の雰囲気の中で静かに感情的な交流を行い、知識の渇望と探求をシンプルさと信頼性の中に統合します。 教育現場では、生徒は知識を獲得します。静かな思考と沈黙の承認を通じて
このビデオのより難しい部分は、ThinkPHP モデルがデータの自動入力を実現しているということです:
ThinkPHP 自動入力
ThinkPHP 組み込み データ オブジェクトの自動入力機能デフォルト値、データ フィルタリング、およびシステムによって書き込まれたフィールドのその他の自動処理を処理するために使用できます。
オートフィル関数を使用するには、対応する Model クラスで $_auto 属性 (複数の検証要素で構成される配列) を定義するだけで済みます。 $_auto 属性は、複数の fill 要素で構成される配列です。構文形式は次のとおりです:
protected $_auto = array( array(填充字段,填充内容[,填充条件][,附加规则]) };
Autofill の例
ユーザーが情報を登録または変更するときに使用できる Autofill の例:
class UserModel extends Model{ protected $_auto = array ( // 新增的时候把status字段设置为1 array('status','1'), // 对password字段在所有情况下使用md5函数处理 array('password','md5',3,'function'), // 对username字段在新增时回调getName方法 array('username','getName',1,'callback'), // 对regdate字段在新增时写入当前时间戳 array('regdate','time',1,'function'), // 对regip字段在新增时写入用户注册IP地址 array('regip','get_client_ip',1,'function'), ); }
自動検証と同様に、自動補完メカニズムを有効にするには、create メソッドを使用する必要があります:
$Article = D("User"); if(!$User->create()){ // 如果创建数据对象失败(可能是验证未通过等),输出错误提示信息 exit($Article->getError()); }else{ // 继续下一步流程如将数据写入数据表 }
ヒント
自動検証との違いは、自動検証が無効な場合 (存在しない関数の呼び出しなど) であることです。自動入力フィールドが存在しないなど) によってデータ オブジェクトの作成 (create()) が失敗することはありません。自動入力が正しく有効であるかどうかは、デバッグまたは実際のデータ ストレージを通じてのみ検出できます。
オートコンプリートルールを動的に変更する
自動検証と同様に、操作メソッドでsetPropertyメソッドを使用してオートコンプリートルールを動的に変更できます:
$Dao = D("User"); $auto = array ( // 仅对password字段进行处理 array('password','md5',1,'function') ); $User->setProperty("_auto",$auto); if(!$User->create()){ …… }
以上が詳細な ThinkPHP フレームワークのビデオ チュートリアルに関する Geek Academy のリソース推奨事項の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。