我所認識的php(下集)

這一篇大概會變得比較像雜記了..
主要是來寫我所看到的一些程式的寫法。
其他順便介紹一些php好用的函式庫。

在A的建構子裡面直接將物件B建立起來放入某個變數中。
嗯...雖然知道能這樣用,
但目前還不知道這樣的好處何在。

  1. <?php
  2. class A{
  3.     var $B;
  4.     function __construct(){
  5.         $this->B=new B();
  6.     }
  7.     //do some other things
  8. }
  9. class B{
  10.     var $children_of_class_b='somevalue';
  11.     //something in class B
  12. }
  13. $A=new A;
  14. echo $A->B->children_of_class_b;
  15. ?>

寫完之後突然想到,
要怎麼將資料存成物件呢?
於是看到有以下兩種方法。
第一種是直接宣告一個物件然後下面慢慢定義。
第二種則是從陣列然後直接變形成物件。

  1. $book = new stdClass;
  2. $book->title = "Harry Potter and the Prisoner of Azkaban";
  3. $book->author = "J. K. Rowling";
  4. $book->publisher = "Arthur A. Levine Books";
  5. $book->amazon_link = "http://www.amazon.com/dp/0439136369/";
  6. $array = array(
  7. "title" => "Harry Potter and the Prisoner of Azkaban",
  8. "author" => "J. K. Rowling",
  9. "publisher" => "Arthur A. Levine Books",
  10. "amazon_link" => "http://www.amazon.com/dp/0439136369/"
  11. );
  12. $books = (object) $array;


突然想到以後可以改寫成下面這種...
通常都是跑foreach讀資料或者存成某個陣列之類的,
但存成物件似乎也不錯,
可以比較容易清楚看出來資料的結構,
而且也稍稍彈性一點吧?
總之呢,
承上面,再做點小變化
變成以下這樣

  1. $array = array(
  2. "title" => "Harry Potter and the Prisoner of Azkaban",
  3. "author" => "J. K. Rowling",
  4. "publisher" => "Arthur A. Levine Books",
  5. "amazon_link" => "http://www.amazon.com/dp/0439136369/"
  6. );
  7. $ebook=new stdClass;
  8. foreach($array as $k=>$v)
  9.     $ebook->$k=$v;
  10. var_dump($ebook);

先暫時寫到這邊好了,
愛睏。
下次再寫有哪些好用的涵式庫吧!

留言

這個網誌中的熱門文章

幾個匿名聊天app比較和心得

matched betting和股票當沖的小認識心得

spotify 家庭方案根本在整人

ubereats 送餐員初體驗

狂推 Life is strange 啊!!!