コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

PHPができるようになったぞーおおおお

PHPをやりましょう

本日は、お金とか一切貰ってないけどProgate の回し者っぽいこと発言していこうと思います。Progateはいいぞ。僕は課金とか一切してないし、何一つ身についたものの実感とかないけどプログラミングを勉強した気になっていいぞ。

ということでつい先日アプリ版のPHP講座がリリースされてたんでレッスン1を終わらせました。
f:id:andron:20181207163110p:plain

アプリ

内容は構文の基礎とかPOST使ってフォームが作れるようになるとかそういった感じの内容です。他よりも若干ボリュームがあった気がした。レベル上げは楽しいかもしれないです。僕から言えることは以上です。


本日の宗教勧誘

はい、というわけでこのままやってみたという感想とか伝えて終えてもアレなので、クローンアプリでも作っていこうと思います。んで、いつもは別言語で適当なこと書くんですけど、今回は「PHPは閉じタグを書かない」という宗教勧誘の名目でレッスンと同じPHPで書いていきます。

でも、テンプレートとか利用せずに、HTML上にPHPタグ(?)使わない方法よくわかんなかったんで適当なテンプレート使うことにします。ということでSkinnyなるテンプレートエンジンを使うことにします。

skinny.sx68.net
国産テンプレートエンジンらしいです。特徴とかはこれからつかうのでよくわかんないです。まあ、いつもみたいにアメリカ語のサイトではないので特徴とか知りたかったら実際にページいって読んで(丸投げ)。

フォームつくった

レッスンやるとこんな感じのフォームが作れるようになるらしいですよ。

f:id:andron:20181207211701p:plainf:id:andron:20181207211703p:plain

以下邪悪なソースコード
フォーム部分
PHP

<?php
    // Skinny 呼び出し
    include_once( "../Skinny.php" );
    $out = array();

    // テンプレートで出力したい内容を連想配列に追加
    for($i=6; $i<100; $i++){
        $out['age'][] = array('num' => $i."");
    }
    
    $out['types'][] = array('type' => "採用に関するお問い合わせ");
    $out['types'][] = array('type' => "料金に関するお問い合わせ");
    $out['types'][] = array('type' => "その他");

    // $outの内容をSkinnyで出力
    $Skinny->SkinnyDisplay( "form.html", $out );   


HTML

<!-- 略 -->
  <div class="main">
    <div class="contact-form">
      <div class="form-title">お問い合わせ</div>
      <form method="post" action="sent.php">
        <div class="form-item">名前</div>
        <input type="text" name="name">
        <div class="form-item">年齢</div>
        <select name="age">
          <option value="未選択">選択してください</opton>
          <% each(age) %>
          <option value='<% echo(age/num) %>'><% echo(age/num) %></option>
          <% /each %>
        </select>
        <div class="form-item">お問い合わせの種類</div>        
        <select name="category">
          <option value="未選択">選択してください</option>
          <% each(types) %>
          <option value='<% echo(types/type) %>'><% echo(types/type) %></option>
        <% /each %>          
        </select>
        <div class="form-item">内容</div>
        <textarea name="body"></textarea>
        <input type="submit" value="送信">
      </form>
    </div>
  </div>
<!-- 略 -->


結果部分
PHP

<?php
    // Skinny 呼び出し
    include_once( "../Skinny.php" );
    $out = array();

    // テンプレートで出力したい内容を連想配列に追加    
    $out['name'] = $_POST['name'];
    $out['age'] = $_POST['age'];
    $out['category'] = $_POST['category'];
    $out['body'] = $_POST['body'];

    // $outの内容をSkinnyで出力
    $Skinny->SkinnyDisplay( "sent.html", $out );   


HTML

  <div class="main">
    <div class="display-contact">
      <div class="form-title">お問い合わせいただきありがとうございます。</div>
      <div class="form-title">入力内容</div>
      <div class="form-item">■ 名前</div>
      <% echo(name) %>
      <div class="form-item">■ 年齢</div>
      <% echo(age) %>
      <div class="form-item">■ お問い合わせの種類</div>
      <% echo(category) %>
      <div class="form-item">■ 内容</div>
      <% echo(body) %>
    </div>
  </div>

宗教勧誘も兼ねてとか言いつつ邪悪なコードを書いてごり押してしまった。まあ邪教ってことでここはひとつ……。ちなみにソースに載せてないけどCSSは何一ついじってません。


感想

よくわかんないクローンアプリ作って、「あーそういえばPHPってこう使ってた」ってのを思い出すきっかけになってよかったと思った。PHPって php.ini で設定いじりまくってカスタマイズする言語なんですよね。そういう設定方法のレッスンもやればいいのに……。