phpってオブジェクトの継承ができるだって生意気な( ゚д゚ )
2015.06.19
<?php class oya{ private $hogeko; private $hogeta; function __construct() { $this->hogeko="hoge~ko"; } function omake(){ return $this->hogeko; } function oyadama($hogeko="hogeko"){ return $hogeko; } function oyadako($hogeta="hogeta"){ return $hogeta; } } class ko extends oya{ function koda(){ return parent::oyadako(); } function koyo(){ return parent::oyadama(); } } $oya = new ko(); $ko = new oya(); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>zip358.com:大人(親と子)クラス</title> </head> <body> <p><?=$oya->koda();?></p> <p><?=$oya->koyo();?></p> <p><?=$ko->omake();?></p> </body> </html>
DEMO https://zip358.com/tool/extends.php
phpってオブジェクトの継承ができるだって生意気なんて(笑)。こういうコードを書く必要性を迫られていなければ・・・どこで使用すればよいのかがわからないという事になると思います。自分自身もこういうコードを書くことが無かったので忘れがちになっていました。ちなみにPHPにもコンストラクタ君がつかえるようです。昔は使えなかったことがPHP5ぐらいから使用できるようになったのは、良いことです・・・・。C++とかJavaとかそういう物をPHPも目指しているだと思います。メソッドも増える一方です、自分が知らないメソッドも結構あると思います。PHP公式のリファレンスを覗けって話ですけど仕事して帰ってきてゴトゴトしてたら、勉?する時間がないですね。作れよという話ですが今のところ作れていないのが現状です。
タグ
AM, body>, class ko extends oya, class oya, DOCTYPE html>, function koda, function omake, function oyadako, function oyadama, head>, hogeko, hogeta, html lang, meta charset, new oya, p>, return parent, title>, zip358.com, オブジェクト,
Functionの引数に初期値を設定するとφ(..)メモメモ。
2015.06.18
<?php function memo($gets="メモ",$chk=false){ if(!$chk)$gets.="った??!"; return $gets; } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>zip358.com:Fチェック</title> </head> <body> <p><?=memo("テスト",true);?></p> <p><?=memo("テスト");?></p> <p><?=memo();?></p> </body> </html>
DEMO https://zip358.com/tool/get-p.php
これ、覚えとくと便利な記述です、最初にFunctionの引数に初期値を与えて置けば、引数があるなしで処理を変更することも可能になります。ちょっとした事ですが知っていると知らないとでは差がでます。ちなみにC++でも同じことが出来ます。Javaで同じことが出来るかは未確認です。言語によってできる出来ないとかがあるので、アプリ開発時には注意が必要になります。Javaの場合、同じメソッド名で引数の違うものが作れてしまうのでおそらく、こういう事は出来ないと思います。この頃、知ったことですがVB6やAccessには黄金期があったということを知りました。そういえばVB6を使っていた会社があったなと、いまではVB2005とかにはバージョンアップしていると思います。こういうことを言えば敵をつくりそうですが、昔のほうがコードが見やすかった気がします。いまは、オブジェクト指向を更に良くしようと機能ベタベタ追加しているので、コードがややこしくなってきているように感じます。馬鹿なので人のコードを見るのがかなり、不得意です。
タグ
AM, body>, C++, chk, DOCTYPE html>, function memo, gets, head>, html lang, java, meta charset, p>, title>, utf-8, VB2005, VB6, zip358.com, オブジェクト指向, コード, 初期値, 引数,
( #PHPサンプル )非同期通信のPHPサンプルコードを作ってみましたのでどうぞ。
2015.03.01
非同期通信で入力した文字をURLエンコード して返す、コードを書いてみましたのでどうぞ。お使いください。ただし、この処理には欠陥があって処理に負荷がかかると上手く結果を返してくれない恐れがあります。非同期処理なので処理するプログラムにばんばんと値を投げますが、返答を待たずに次の処理を投げるので、どの処理が最初に返ってくるのかは、わからないのです。一見、うまく動いてそうですけどただ、処理に負荷がかかっていないのでうまく処理された状態になっているだけです。なので、非同期処理を使う場合は、投げる値にID(順番)を付与して処理しないといけないです。
トイウコトデ、サンプルコードを置いときますのでお使いください。(デモサイトこちら)
https://zip358.com/tool/sample-0301.zip(DL)
ソースは下記参照
HTML側(JQuery側)のソース=処理を投げる側=処理された結果を出力する側。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>zip358.com:sample-非同期</title> <script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script> $(function(){ $("#textarea-hoge").keyup(function() { $.ajax({ type: "POST", url: "sample-0301.php", dataType:'html', data: { "hoge" : $("#textarea-hoge").val(), }, success: function(data) { $("#hoge2").text(data); }, error:function(data) { } }); }); }); </script> </head> <body> <br><br>文字をURLエンコード処理して返します。何か入力してください。<br>※非同期通信なので性格に処理してくれるわけではありません。<br><br> <textarea id="textarea-hoge" rows="10" cols="100"></textarea> <br> <div id="hoge2"></div> </body> </html>
PHP側のソース=処理する側。
<?php $hoge = $_POST['hoge']; echo "urlエンコードされた文字::".urlencode($hoge)."通常文字::".$hoge; ?>
タグ
AM, body>, br>, code.jquery.com, DOCTYPE html>, function, head>, hoge2, html lang, jquery-1.11.2.min.js, jquery-migrate-1.2.1.min.js, meta charset, sample-0301.php, script src, script>, textarea id, textarea-hoge, textarea>, title>, zip358.com, トイウコトデ,