THẢO LUẬN

Jul 6th, 2018 1:33 a.m.

Thank bạn, mình bây giờ sẽ xem lại. Sai sót mình sẽ cập nhật ở bài viết (thatim)

+1
Jul 6th, 2018 1:18 a.m.

@apkmonth Mình không bạn ạ 😦 Bạn có thể lên các trang free lancer để tìm xem, chắc sẽ có nhiều người có thể giúp bạn thực hiện các chức năng đó 😄

0

Anh ơi , cho em hỏi lần đầu commit "first commit" Lần xau là "second" Vậy mỗi lần thêm bài viết mới phải commit theo thứ tự như trên ạ, vì các bài viết mới của e hiển thị trên locol1313 nhưng không hiển thị trên website đc

0
Jul 5th, 2018 2:41 p.m.

Nếu class A thừa kế class B thì có nghĩa rằng self đại diện cho class B.

Cái này còn tùy vào việc self:: được sử dụng ở đâu nữa chứ nhỉ, không kết luận đơn giản như vậy được 🤔

Vế trước thì có vẻ đung rồi 👍

self::static:: được dùng để truy xuất vào các thành phần static của class, nhưng sự khác nhau ở đây là:

  • self:: trả về giá trị thuộc class nơi mà method được định nghĩa (khai báo)
  • static:: trả về giá trị thuộc class đang gọi method, đây là 1 tính năng của PHP từ version 5.3, gọi là Late Static Bindings

VD:

<?php

class B 
{
    public static function testSelf()
    {
        return self::class;
    }
    
    public static function testSelfOverride()
    {
        return self::class;
    }
    
    public static function testStatic()
    {
        return static::class;
    }

    public static function selfCallTestSelfOverride()
    {
        return self::testSelfOverride();
    }

    public static function staticCallTestSelfOverride()
    {
        return static::testSelfOverride();
    }
}

class A extends B
{
    public static function testSelfOverride()
    {
        return self::class;
    }
}

Cùng đoán kết quả nhé 😄

<?php
echo B::testSelf();
echo A::testSelf();

echo B::testSelfOverride();
echo A::testSelfOverride();

echo B::testStatic();
echo A::testStatic();

echo B::selfCallTestSelfOverride();
echo A::selfCallTestSelfOverride();

echo B::staticCallTestSelfOverride();
echo A::staticCallTestSelfOverride();

Một ví dụ khác về ứng dụng của Late Static Bindings:

<?php
abstract class ActiveModel
{
    const CREATED_AT = 'created_at';

    public static function create(array $values)
    {
        $values[static::CREATED_AT] = new DateTime;
        // DB insert
        return $values;
    }
}

class Product extends ActiveModel
{
    const CREATED_AT = 'produced_at';
}

$product = Product::create([
    'name' => 'Orange Juice',
]);

print_r($product);
+3
Jul 5th, 2018 10:18 a.m.

@thangtd90 cảm ơn bạn nhé ! bạn có nhận làm trọn gói chức năng đó k

0

Giả sử mình có id của 1 parent category, mình muốn lấy ra tất cả child category của id đó, tiếp tục dựa vào đống id child category lấy được để lấy tất cả bài viết của từng child, vậy thì viết query như thế nào ạ?

0
Jul 5th, 2018 9:47 a.m.

Sao không dùng create-react-app cli cho tiện nhỉ, tương tự ng new bên angular

0
Jul 5th, 2018 9:28 a.m.

viết bài chẳng đầu tư gì hết, đọc được đoạn vote -1 rồi đi ra

0
Jul 5th, 2018 9:26 a.m.

Vì nó là cái khung mẫu, tương tự abstract class

+1
Jul 5th, 2018 9:09 a.m.

Hỏi hay lắm 😄

+1
Jul 5th, 2018 8:57 a.m.

Vì nó quy định thế ý (khoc)

0
Jul 5th, 2018 8:52 a.m.

Tại sao các hàm trong Interface lại ko được đnghĩa nội dung nhỉ 8-|

+1
Jul 5th, 2018 8:50 a.m.

Bài viết hay quá 😄

0
Jul 5th, 2018 8:22 a.m.

hay quá tác giả

0
Avatar
đã bình luận cho bài viết
Jul 5th, 2018 8:05 a.m.

@bacph178 Anh có thể làm nguyên 1 phần demo source cho phần này đc ko ạ ? tks a.

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Jul 5th, 2018 7:55 a.m.

@wiliamfeng Mình muốn nói dòng số 1, còn về registerServiceWorker b có thể xem ở đây https://stackoverflow.com/questions/47953732/what-does-registerserviceworker-do-in-react-js

+1
Jul 5th, 2018 7:17 a.m.

cho e xin link bài viết về noSQL

0
Jul 5th, 2018 6:44 a.m.

hướng đẫn thiếu cụ thể?

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí