Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPress関数の使い方でみるPHPの文法おさらい 20170816 in いろいろ初心...

WordPress関数の使い方でみるPHPの文法おさらい 20170816 in いろいろ初心者もくもく会

WordPress関数の使い方でみるPHPの文法おさらい 20170816 in いろいろ初心者もくもく会

echizenyayota

August 15, 2017
Tweet

More Decks by echizenyayota

Other Decks in Technology

Transcript

  1. Who are you? 福井 洋(@echizenya_yota) https://twitter.com/echizenya_yota http://e-yota.com/ WordCamp Kyoto 2017

    実行委員(スポンサーチーム担当) https://2017.kyoto.wordcamp.org/organizers/ http://e-yota.com/webservice/suponsors-organizer/ 普段はWordPressサイトのサーバー構築のお手伝いと個人レッスン、Web初心者向け にプログラミングの個人レッスンをしている個人事業主です。
  2. register_activation_hook関数の具体例 class WPWA_User_Manager { public function __construct() { // 初期化コード

    register_activation_hook( __FILE__ , array( $this, 'add_application_user_roles' ) ); } public function add_application_user_roles() { add_role( 'follower', 'Follower', array( 'read' => true ) ); add_role( 'developer', 'Developer', array( 'read' => true ) ); add_role( 'member', 'Member', array( 'read' => true ) ); } } $user_manage = new WPWA_User_Manager(); 詳しくはこちら→ https://goo.gl/Y83PGS プラグインが有効化されたときに、 Follower、Developper、Memberと いうユーザーロールが追加される
  3. オブジェクトとは? class Hoge { public function __construct() { wp_example(__FILE__, array(

    $this, 'fuga' ) ); } public function fuga() { } } →データとデータの処理方法の定義書 (説明の便宜上、架空のWordPress関数、wp_exampleを使用します)
  4. コンストラクタ(初期化処理) class Hoge { public function __construct() { wp_example(__FILE__, array(

    $this, 'fuga' ) ); } } →Hogeクラスが実行されると必ず__construct()というメソッドが呼び出される
  5. __FILE__(マジック定数) class hoge { public function __construct() { // 初期化コード

    wp_example(__FILE__, array( $this, 'fuga' ) ); } } →ファイルのフルパスとファイル名。 自分の環境だと/var/www/wordpress/wp-content/plugins/wpwa-user-manager/class-wpwa-user-manager.php と言う意味。
  6. 配列 class Hoge { public function __construct() { // 初期化コード

    wp_example(__FILE__, array( $this, 'fuga' ) ); } } →変数を複数入れられる「箱」のようなもの
  7. 擬似変数 class Hoge { public function __construct() { // 初期化コード

    wp_example(__FILE__, array( $this, 'fuga' ) ); } } →クラスの中のメソッドやプロパティ(クラス変数)みたいにアクセスする時に使うキー ワード
  8. メソッド class Hoge { public function __construct() { // 初期化コード

    wp_example( __FILE__ , array( $this, ‘fuga’) ); } public function fuga() { echo “My Name is Wapuu!”; } } →クラス内で使う関数
  9. インスタンス化とは? class Hoge { public function __construct() { wp_example(__FILE__, array(

    $this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu!”; } } $hogefuga = new Hoge(); →クラスに定義されているデータを実際に持たせたデータ
  10. newキーワード class Hoge { public function __construct() { wp_example(__FILE__, array(

    $this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu!”; } } $hogefuga = new Hoge(); →クラスに定義されている内容を実際に持たせたデータを呼び出す時に使うキーワード
  11. オブジェクト変数 class Hoge { public function __construct() { wp_example(__FILE__, array(

    $this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu”; } } $hogefuga = new Hoge(); →クラスに定義されている内容を実際に持つ変数
  12. オブジェクトとインスタンスの使用例 class Hoge { public function __construct() { wp_example(__FILE__, array(

    $this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu!”; } } $hogefuga = new Hoge(); $hogefuga->fuga(); →出力結果: My Name is Wapuu!
  13. 意味の分からない変数はデバッグしよう! class Hoge { public function __construct() { var_dump(__FILE__) exit;

    wp_example(__FILE__, array( $this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu!”; } } $hogefuga = new Hoge(); $hogefuga->fuga(); →出力結果: /var/www/wordpress/wp-content/plugins/wpwa-user-manager/class-wpwa-user-manager.php