หัด OOP งง เรื่อง $

เริ่มโดย affsom, 09 กุมภาพันธ์ 2017, 02:11:18

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

affsom

=======================================================
<?php
class FileFinder {
   private $onFound; //หมายถึงอะไร

   private function __construct($path, $onFound, $maxDepth) { //$ เหมือนมัน วนๆ คือค่าอะไร เคยเขียนแต่ $path = brabra ;
// ค่า $path, $onFound, $maxDepth คืออะไร เอามาจากใหน
       
       $this->onFound = $onFound;
     
       $this->iterate($path, $maxDepth);
   }

   private function iterate($path, $maxDepth) {
       $d = opendir($path);
       while ($e = readdir($d)) {
         
           if ($e == '.' || $e == '..') { continue; }
           $absPath = "$path/$e";
           if (is_dir($absPath)) {
               
               if ($maxDepth != 0) {
                 
                   $this->iterate($absPath, $maxDepth - 1);
               }
           } else {
             
               call_user_func_array($this->onFound, array($absPath));
           }
       }
       closedir($d);
   }


   public static function find($path, $onFound, $maxDepth = 0) {
       return new self($path, $onFound, $maxDepth);
   }
}


$count = $bytes = 0;
FileFinder::find('.', function($file) use (&$count, &$bytes) {
 
   ++$count;
   $bytes += filesize($file);
}, 1);

echo "Nr files: $count; bytes used: $bytes\n";
===================================================


สีแดงๆ มันมายังไง การใช้งาน ใช้ยังไง

ส่วนใหญ่จะศึกษาOOPแบบหาโค๊ดมาแกะเอา มันก็ใช้งานได้นะครับ แต่บางทีไม่รู้ว่ามันคืออะไร ใช้ได้แต่ไม่รู้ความหมายทั้งหมด

:wanwan023:  ทดลองแบบง่ายๆ จากข้างล่าง แต่ไม่เข้าใจครับ

==============================
<?php 
class Mainclass {
   public function __construct($text){
      $this->hello($text);
   }
   
   public function hello($text){
      echo $text;
   }

}
$alien = new Mainclass("test Echo");
?>

$text มันคืออะไร สัมพันกับส่วนอื่นใน Class ยังไง

พอรันออกมาแล้ว ทำไมมัน echo = test Echo
=============================

vii

#1
ผมว่าเริ่มต้นหัดเรียนรู้ตั้งแต่ง่ายที่สุดเลยดีกว่ามั้ง อย่าเพิ่งไปหัดโดยการแกะดูโค้ดคนอื่นเลย ทำความเข้าใจแล้วทดลองเขียนไปรันไปให้มันรู้ว่าอะไรคืออะไร อะไรทำงานยังไงก่อนดีกว่า

ตัวอย่างบทเรียน

ภาษาไทย
http://teerapuch.com/2014/coding/php/php-oop-%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/
http://www.swift-tutor.com/%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99-php-%E0%B9%83%E0%B8%99%E0%B8%AA%E0%B9%84%E0%B8%95%E0%B8%A5%E0%B9%8C-oop/
http://www.thaicreate.com/community/php-oop-tutorial-vdo-online.html

ภาษาอังกฤษ
https://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762




public คือคลาสข้างนอกหรือตัวที่เรียกคลาสสามารถเรียกใช้ได้
private คือใช้ได้เฉพาะข้างใน class นั้นๆ
protected คือใช้ได้เฉพาะข้างใน class นั้นและคลาสที่ extends คือทำต่อขยายออกมาเพื่อแก้ไขคลาสเดิมที่มีอยู่หรือใส่ฟังก์ชั่นเพิ่มเติม

method __construct() จะทำงานอัตโนมัติเมื่อคลาสนั้นถูกเรียก โดยค่า arguments หรือ parameters ที่กำหนดจะทำให้ต้องกรอกหรือไม่ก็ได้ เช่น

class Human
{
    public function __construct()
    {

    }
}

// ก็สามารถเรียกใช้
$Human = new Human();// ได้เลย


แต่ถ้าแบบนี้..


class Human
{
    public function __construct($name)
    {

    }
}

// ก็ต้องระบุค่าใน argument คือ $name เพราะ $name ไม่ได้กำหนด default เอาไว้
// ต้องเรียกแบบนี้
$Human = new Human('vee');


และถ้าแบบนี้..


class Human
{
    public function __construct($name = 'John Wick')
    {

    }
}

// ก็ไม่ต้องระบุค่าใน argument คือ $name ก็ได้เพราะ $name ได้กำหนด default เอาไว้
// แต่ถ้าจะระบุเหมือนข้างบนก็ได้ มันก็จะไปทับค่า default
// ตัวอย่างการเรียกใช้
$Human = new Human();


อื่นๆก็ลองค่อยๆอ่านเอาจากลิ้งค์ที่ให้ไป มีทั้งแบบสอนทีละขั้นอย่างนี้และสอนรวดเดียวเลย แต่จะเข้าใจยากหน่อยสำหรับผู้ไม่เคยทำเลย แต่เดี๋ยวก็เก่งเอง.
[direct=https://rundiz.com]PHP, HTML, JS, CSS[/direct]

affsom

อ้างถึงจาก: vii ใน 09 กุมภาพันธ์ 2017, 02:18:19
ผมว่าเริ่มต้นหัดเรียนรู้ตั้งแต่ง่ายที่สุดเลยดีกว่ามั้ง อย่าเพิ่งไปหัดโดยการแกะดูโค้ดคนอื่นเลย ทำความเข้าใจแล้วทดลองเขียนไปรันไปให้มันรู้ว่าอะไรคืออะไร อะไรทำงานยังไงก่อนดีกว่า

ตัวอย่างบทเรียน

ภาษาไทย
http://teerapuch.com/2014/coding/php/php-oop-%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/
http://www.swift-tutor.com/%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99-php-%E0%B9%83%E0%B8%99%E0%B8%AA%E0%B9%84%E0%B8%95%E0%B8%A5%E0%B9%8C-oop/
http://www.thaicreate.com/community/php-oop-tutorial-vdo-online.html

ภาษาอังกฤษ
https://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

+++ สำหรับ Link ที่จริงก็ดูหมดแล้ว แต่เหมือนมันไม่ค่อยดึงดูดใจ หลับซะก่อนหลายทีแล้ว แต่ถ้าเอาโค๊ดคนอื่นมาลองไล่แกะนี่มันณู้สึกมันมือกว่า แต่ว่าไปได้ช้ามากๆ

vii

อ้างถึงจาก: affsom ใน 09 กุมภาพันธ์ 2017, 02:33:08
อ้างถึงจาก: vii ใน 09 กุมภาพันธ์ 2017, 02:18:19
ผมว่าเริ่มต้นหัดเรียนรู้ตั้งแต่ง่ายที่สุดเลยดีกว่ามั้ง อย่าเพิ่งไปหัดโดยการแกะดูโค้ดคนอื่นเลย ทำความเข้าใจแล้วทดลองเขียนไปรันไปให้มันรู้ว่าอะไรคืออะไร อะไรทำงานยังไงก่อนดีกว่า

ตัวอย่างบทเรียน

ภาษาไทย
http://teerapuch.com/2014/coding/php/php-oop-%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/
http://www.swift-tutor.com/%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99-php-%E0%B9%83%E0%B8%99%E0%B8%AA%E0%B9%84%E0%B8%95%E0%B8%A5%E0%B9%8C-oop/
http://www.thaicreate.com/community/php-oop-tutorial-vdo-online.html

ภาษาอังกฤษ
https://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

+++ สำหรับ Link ที่จริงก็ดูหมดแล้ว แต่เหมือนมันไม่ค่อยดึงดูดใจ หลับซะก่อนหลายทีแล้ว แต่ถ้าเอาโค๊ดคนอื่นมาลองไล่แกะนี่มันณู้สึกมันมือกว่า แต่ว่าไปได้ช้ามากๆ
คุณจะทำข้ามขั้นอย่างนั้นมันต้องพอมีพื้นฐานก่อนบ้างถึงจะแกะของเขาได้ ไม่งั้นเสียเวลามากกว่าอีก
นั่งอดทนอ่านไปทำไปวันนึงก็เข้าใจได้เยอะมากแล้ว
นั่งแกะของเขาเสียก่อนวันนึงก็ยังเข้าใจได้ไม่มากเท่าไหร่หรอก ยิ่งไปเจอคลาสที่ซับซ้อนหรือใช้ลูกเล่น PHP รุ่นใหม่ๆจ๋ามาเลยนี่จะยิ่งงงทวีมหาศาล
[direct=https://rundiz.com]PHP, HTML, JS, CSS[/direct]

snohomish

อ้างถึงจาก: vii ใน 09 กุมภาพันธ์ 2017, 02:37:28
อ้างถึงจาก: affsom ใน 09 กุมภาพันธ์ 2017, 02:33:08
อ้างถึงจาก: vii ใน 09 กุมภาพันธ์ 2017, 02:18:19
ผมว่าเริ่มต้นหัดเรียนรู้ตั้งแต่ง่ายที่สุดเลยดีกว่ามั้ง อย่าเพิ่งไปหัดโดยการแกะดูโค้ดคนอื่นเลย ทำความเข้าใจแล้วทดลองเขียนไปรันไปให้มันรู้ว่าอะไรคืออะไร อะไรทำงานยังไงก่อนดีกว่า

ตัวอย่างบทเรียน

ภาษาไทย
http://teerapuch.com/2014/coding/php/php-oop-%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/
http://www.swift-tutor.com/%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99-php-%E0%B9%83%E0%B8%99%E0%B8%AA%E0%B9%84%E0%B8%95%E0%B8%A5%E0%B9%8C-oop/
http://www.thaicreate.com/community/php-oop-tutorial-vdo-online.html

ภาษาอังกฤษ
https://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

+++ สำหรับ Link ที่จริงก็ดูหมดแล้ว แต่เหมือนมันไม่ค่อยดึงดูดใจ หลับซะก่อนหลายทีแล้ว แต่ถ้าเอาโค๊ดคนอื่นมาลองไล่แกะนี่มันณู้สึกมันมือกว่า แต่ว่าไปได้ช้ามากๆ
คุณจะทำข้ามขั้นอย่างนั้นมันต้องพอมีพื้นฐานก่อนบ้างถึงจะแกะของเขาได้ ไม่งั้นเสียเวลามากกว่าอีก
นั่งอดทนอ่านไปทำไปวันนึงก็เข้าใจได้เยอะมากแล้ว
นั่งแกะของเขาเสียก่อนวันนึงก็ยังเข้าใจได้ไม่มากเท่าไหร่หรอก ยิ่งไปเจอคลาสที่ซับซ้อนหรือใช้ลูกเล่น PHP รุ่นใหม่ๆจ๋ามาเลยนี่จะยิ่งงงทวีมหาศาล

ผมเห็นด้วยครับ พื้นฐานต้องมาก่อน

ten1312

มันเป็นเมธอดที่เวลาเรียกใช้ต้องส่งค่าเข้าไปด้วย
บันทึกการเรียนเขียน Program
Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน
PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน
Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง

[direct=https://www.nanakaset.com]นานาเกษตร[/direct]

LoveRomyui88io

แวะมาเก็บข้อมูล ขอบคุณมากๆ ครับ
ห้ามใส่ลิงค์พนันครับ ทำอีกลบแอคเค้านะครับ

markhacd

หากคุณกำลังมองหา[direct=http://www.xn--12c2ca0dl7dte2c.com]เครื่องสแกนลายนิ้วมือ[/direct] / [direct=http://www.xn--12c2ca0dl7dte2c.com/products_list_type.php?tid=2]เครื่องสแกนใบหน้า[/direct] / [direct=http://www.xn--12c2ca0dl7dte2c.com/index.php]สแกนนิ้ว[/direct] / [direct=http://www.xn--12c2ca0dl7dte2c.com/products_list_type.php?tid=1]สแกนนิ้วมือ[/direct] แนะนำบริษัทที่จำหน่ายสินค้าคุณภาพที่ [direct=http://www.xn--12c2ca0dl7dte2c.com]www.สแกนนิ้ว.com[/direct]

thinktogether

แดงๆ ก็แค่กล่องใบนึงไว้แทนตัวตนอะไรสักอย่าง อย่าคิดมาก
ช่างอเมริกาบางที่ชั่วโมงละ 100 ดอล

ถ้าเราอยากรวยต้องได้วันละ 1000 ดอล

affsom

#9
อ้างถึงจาก: vii ใน 09 กุมภาพันธ์ 2017, 02:37:28
อ้างถึงจาก: affsom ใน 09 กุมภาพันธ์ 2017, 02:33:08
อ้างถึงจาก: vii ใน 09 กุมภาพันธ์ 2017, 02:18:19
ผมว่าเริ่มต้นหัดเรียนรู้ตั้งแต่ง่ายที่สุดเลยดีกว่ามั้ง อย่าเพิ่งไปหัดโดยการแกะดูโค้ดคนอื่นเลย ทำความเข้าใจแล้วทดลองเขียนไปรันไปให้มันรู้ว่าอะไรคืออะไร อะไรทำงานยังไงก่อนดีกว่า

ตัวอย่างบทเรียน

ภาษาไทย
http://teerapuch.com/2014/coding/php/php-oop-%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/
http://www.swift-tutor.com/%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99-php-%E0%B9%83%E0%B8%99%E0%B8%AA%E0%B9%84%E0%B8%95%E0%B8%A5%E0%B9%8C-oop/
http://www.thaicreate.com/community/php-oop-tutorial-vdo-online.html

ภาษาอังกฤษ
https://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

+++ สำหรับ Link ที่จริงก็ดูหมดแล้ว แต่เหมือนมันไม่ค่อยดึงดูดใจ หลับซะก่อนหลายทีแล้ว แต่ถ้าเอาโค๊ดคนอื่นมาลองไล่แกะนี่มันณู้สึกมันมือกว่า แต่ว่าไปได้ช้ามากๆ
คุณจะทำข้ามขั้นอย่างนั้นมันต้องพอมีพื้นฐานก่อนบ้างถึงจะแกะของเขาได้ ไม่งั้นเสียเวลามากกว่าอีก
นั่งอดทนอ่านไปทำไปวันนึงก็เข้าใจได้เยอะมากแล้ว
นั่งแกะของเขาเสียก่อนวันนึงก็ยังเข้าใจได้ไม่มากเท่าไหร่หรอก ยิ่งไปเจอคลาสที่ซับซ้อนหรือใช้ลูกเล่น PHP รุ่นใหม่ๆจ๋ามาเลยนี่จะยิ่งงงทวีมหาศาล

+++

คงต้องศึกษาใหม่ให้เป็นระบบ ถึงจะทำได้ แต่หาความหมายที่แท้จริงไม่เจอ เหมือน 0หาร0 ที่ได้คำตอบแต่มันไม่ใช่คำตอบ

http://kondontea.orgfree.com

:wanwan017: :wanwan017:

ทำมาหากิน

__construct เป็นเมจิคอะครับ
จะถูกเรียกตอนเราสร้าง Obj จาก class

:wanwan013:
:wanwan003:
น้ำเมลอนปั่นกินแล้วสดชื่น ไปลองทานกันนะครับ
-------------------------------------