Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WordPress関数の使い方でみるPHPの文法おさらい 20170816 in いろいろ初心...
Search
echizenyayota
August 15, 2017
Technology
0
110
WordPress関数の使い方でみるPHPの文法おさらい 20170816 in いろいろ初心者もくもく会
WordPress関数の使い方でみるPHPの文法おさらい 20170816 in いろいろ初心者もくもく会
echizenyayota
August 15, 2017
Tweet
Share
More Decks by echizenyayota
See All by echizenyayota
日本語話者と英語話者のためのIT技術者交流コミュニティ_事始め_日本語_英語_.pdf
echizenyayota
0
400
外出自粛期間のおすすめ! オンラインサービスで 自由気ままな英語学習
echizenyayota
0
500
Visual Studio CodeでJavaScriptプログラミング
echizenyayota
0
290
他人のソースコードをすばやく読むコツ 項とJavaScriptの演算子
echizenyayota
0
120
ドットインストールの質問回答サービスで身につくプログラミング学習法
echizenyayota
0
130
「Webパフォーマンス改善セミナー」 概要説明
echizenyayota
1
58
JavaScriptの正規表現で リファラースパムを退治した話
echizenyayota
0
120
JavaScriptの新しい文法を学習しよう
echizenyayota
1
330
さくらのVPSでプラグインを使わないWordPressのバックアップ
echizenyayota
0
1.4k
Other Decks in Technology
See All in Technology
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
140
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
140
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
230
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.6k
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
3
1.3k
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.8k
20250623 Findy Lunch LT Brown
3150
0
860
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
160
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.1k
Model Mondays S2E02: Model Context Protocol
nitya
0
220
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
210
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.7k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Git: the NoSQL Database
bkeepers
PRO
430
65k
How STYLIGHT went responsive
nonsquared
100
5.6k
Statistics for Hackers
jakevdp
799
220k
Navigating Team Friction
lara
187
15k
Agile that works and the tools we love
rasmusluckow
329
21k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Side Projects
sachag
455
42k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Gamification - CAS2011
davidbonilla
81
5.3k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Balancing Empowerment & Direction
lara
1
370
Transcript
WordPress関数の使い方でみる PHPの文法おさらい 2017年8月16日(水) in JUSO Coworking
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初心者向け にプログラミングの個人レッスンをしている個人事業主です。
WordCamp Kyoto 2017 コントリデイ 本日のネタはwckyoto2017の2日目に行われたコントリビュターデイで、WordPress Codexを編集したときの内容に基づいてお話します。
実際に自分が編集したところ
register_activation_hook関数とは プラグインが有効化されたときに実行される関数を登録する関数。
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と いうユーザーロールが追加される
register_activation_hook関数の2つの使い方 • 関数を使う場合(クラスメソッドを使わない場合) • 関数を使わない場合(クラスメソッドを使う場合) →今回は関数を使わない場合(クラスメソッドを使う場合)でPHP の文法について説明
オブジェクトとは? class Hoge { public function __construct() { wp_example(__FILE__, array(
$this, 'fuga' ) ); } public function fuga() { } } →データとデータの処理方法の定義書 (説明の便宜上、架空のWordPress関数、wp_exampleを使用します)
クラス定義 class Hoge { } →定義するクラス名を宣言
コンストラクタ(初期化処理) class Hoge { public function __construct() { wp_example(__FILE__, array(
$this, 'fuga' ) ); } } →Hogeクラスが実行されると必ず__construct()というメソッドが呼び出される
__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 と言う意味。
配列 class Hoge { public function __construct() { // 初期化コード
wp_example(__FILE__, array( $this, 'fuga' ) ); } } →変数を複数入れられる「箱」のようなもの
擬似変数 class Hoge { public function __construct() { // 初期化コード
wp_example(__FILE__, array( $this, 'fuga' ) ); } } →クラスの中のメソッドやプロパティ(クラス変数)みたいにアクセスする時に使うキー ワード
メソッド class Hoge { public function __construct() { // 初期化コード
wp_example( __FILE__ , array( $this, ‘fuga’) ); } public function fuga() { echo “My Name is Wapuu!”; } } →クラス内で使う関数
インスタンス化とは? class Hoge { public function __construct() { wp_example(__FILE__, array(
$this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu!”; } } $hogefuga = new Hoge(); →クラスに定義されているデータを実際に持たせたデータ
newキーワード class Hoge { public function __construct() { wp_example(__FILE__, array(
$this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu!”; } } $hogefuga = new Hoge(); →クラスに定義されている内容を実際に持たせたデータを呼び出す時に使うキーワード
オブジェクト変数 class Hoge { public function __construct() { wp_example(__FILE__, array(
$this, 'fuga' ) ); } public function fuga() { echo “My Name is Wapuu”; } } $hogefuga = new Hoge(); →クラスに定義されている内容を実際に持つ変数
オブジェクトとインスタンスの使用例 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!
意味の分からない変数はデバッグしよう! 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
公式ドキュメントを読もう! http://php.net/
本で調べよう! https://bookmeter.com/books/11600128
それでも分からなければdotinstallを利用しよう http://dotinstall.com/lessons/basic_php_v2
ご清聴ありがとうございました!