PHPファイルが存在するくせに、divとかの中にもこじんまりと出現するPHPさんがいまいち呑み込めなかったんだけど、
やっと、すとん、と腹に落ちてきた!
それを助けてくれたのはなんと・・・もう一人のぼく・・・?!
デュエルスタンバイ!!
- WordPressを良くわからないまま触っている
- PHPって何か全くわからない
- でもなんとなく何かは知りたい
- 軽く知りたくて初心者向けサイト見たけど全然初心者向けじゃなかった
上記に当てはまる君たち・・・
いらっしゃい。
※がっちりしっかりした知識を身につけたい方は、がっちりしっかりした方のサイトを見た方がいいかも!
PHPってなんなのさ!ふわっと例えるよ!そのためにみんな脳みそ活性化させてとにかくイメージしてね!
※11/7大幅修正。
我々はデュエリストだった
なんのことはない、我々はデュエリストだったのだ。
手札から、モンスターカード、トラップカード、魔法カードなどを駆使して戦うそのカードこそ、PHPさんだったのだ。
意味わかんないよね。
バトルフィールドのみで有効
まず、デュエル以外の時って、普通にカードはカードのままじゃない。ブラックマジシャンは喋らないし動かない。
でもバトルフィールドでは立体的になる・・・
黒・魔・導!!
おっと申し訳ない、いきなり最強魔法唱えちゃいました。
PHPさんも一緒!バトルフィールドという名のPHPファイル上で、手札というデータベースから、カードという名のPHP関数(を使用して取得した情報)を召喚できるようになる!それだけだっ!
相手に合わせて召喚する
フィールド魔法の『闇』が発動中は天使族は使わないとか(個別ページにサイドバー置かないとか)
条件分岐もできる
条件がそろったら、ハーピィレディ三姉妹を特殊召喚するとか(トップページだったらアイキャッチ画像を小さくして、記事ページなら大きくするとか)
デュエル!
それでは実際のPHPファイルを見てみましょうか!
おなじみ、TwentySeventeenのheader.phpの前半部分です。全部じゃないのはコピペがうまくいかなかったからです。
<?php /** * The header for our theme */ ?><!DOCTYPE html> <html <?php language_attributes(); ?> class="no-js no-svg"> <head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyseventeen' ); ?></a> <header id="masthead" class="site-header" role="banner"> <?php get_template_part( 'template-parts/header/header', 'image' ); ?> <?php if ( has_nav_menu( 'top' ) ) : ?> <div class="navigation-top"> <div class="wrap"> <?php get_template_part( 'template-parts/navigation/navigation', 'top' ); ?> </div><!-- .wrap --> </div><!-- .navigation-top --> <?php endif; ?> </header><!-- #masthead -->
さて、うえのPHPを遊戯王に変換!
間違ってたら言ってくださいね。
<?php /** * The header for our theme */ ?><!DOCTYPE html> <html 俺のターン!フィールド魔法発動!「<?php language_attributes(); ?>」を出すぜ!これの効果は言語属性は日本語とすることができる! class="no-js no-svg"> <head> <meta charset="俺のターン!ドロー!「bloginfo( 'charset' )」を召喚!効果はこのカードが場にある限り、エンコードはUTF-8とする!"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> 俺のターン!「<?php wp_head(); ?>」を召喚!効果はなぞだ・・・だが絶対に必要なやつなんだぜ! </head> <body 俺のターン!魔法カード「<?php body_class(); ?>」をオープン!ページごとに違うclassを追加することができる!> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#content">俺のターン!モンスターカード「<?php _e( 'Skip to content', 'twentyseventeen' ); ?>」を攻撃表示!国際化ファイルに登録されている'Skip to content'を和訳する!</a> <header id="masthead" class="site-header" role="banner"> さらに「<?php get_template_part( 'template-parts/header/header', 'image' ); ?>」'template-parts/header/header'フォルダにある'image'を守備表で召喚! それは読んでいたぜ!トラップカードオープン!「<?php if ( has_nav_menu( 'top' ) ) : ?>」ナビメニューにtopがあれば下記を実行!ifの特殊効果により<?php endif; ?>まで効果が続く! <div class="navigation-top"> <div class="wrap"> さらに<「?php get_template_part( 'template-parts/navigation/navigation', 'top' ); ?>」'template-parts/navigation/navigation'フォルダにある'top'を召喚! </div><!-- .wrap --> </div><!-- .navigation-top --> <?php endif; ?>これでターンエンドだ・・・! </header><!-- #masthead -->
もう一度いいますが、間違ってたら言ってくださいね。
ところで、遊戯王に変換したやつ、HTMLやCSSに理解のある方なら、何かお気づきになりませんこと?
なんか、だいぶ見慣れた感ありません?
ない?
そっか、ごめん・・・
まとめ
特に自分の中ですっきりできたきっかけは、手札から必要なカードを召喚できるって感覚かな?
デュエルモンスターズで例えちゃったから、わからない人にはわからないと思うのだけど、そこは申し訳ないんだけど、
「PHPファイル上でPHP関数を駆使して必要な情報を召喚する」
この、召喚するって感覚、これに尽きると思うぜ!(闇遊戯風に)
厳密にいうと、ちょっと色々違うのかもしれないのですが、
PHP(ピー・エイチ・ピー)は “The PHP Development Team” によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語であり、特にサーバーサイドで動的なウェブページ作成するための機能を多く備える
ウィキペディアさんより引用
って言われてさ、なるほどおっけー!ってなる?
ならんでしょ。
え?なったの?おめぇすっげぇな!
普通に、webページ作りたいってなったとき、最低限、HTMLとCSSがわかればなんとかなるって思ってたところ、
いきなりワードプレスさんから当然のようにPHPさん紹介されてさ。
この人があなたの新しいお父さんよ。って言われても。
ええええええ???!!ってなって。
訳もわからないうちに、強制的にPHPさんと一緒に暮らさなくてはならなくなったとき、どうやって自分の中で消化できるかが大事なわけですよ。
訳がわからないまま、専門用語でPHPさんの凄さを丁寧に説明されてもまだこちらには受け入れ態勢が取れてない。
それをどうやってかみ砕くか。
深い部分まで考えちゃうと色々ひずみが生まれてしまうので、あくまでゆるくふわっとなんとなくイメージできたらいいなと。
そんな時、自分にとって「召喚」っていうキーワードが一番しっくり来たわけです。
自動で広告表示させるためにsingle.phpいじってうんたらかんたら・・・よりも、
「おれのターン!ドロー!俺は記事下にアドセンス広告を特殊召喚するぜ!このカードの効果はPCサイズだとレクタングル2個、スマホサイズだと1個表示させることができる!」
ってやったほうが楽しいなーって。
それじゃ次回、
城之内死す!
デュエルスタンバイ!