trait A
{
public function share($item)
{
return "share this item" + $item;
}
}
// Use Shareable Trait in other class
class B
{
public function share($item){
return 1;
}
use A;
}
$post = new Post();
echo $post->share($item);
Bạn ơi cho mình hỏi chút, việc sử dụng trait là sử dụng bắt buộc ở đầu hay có thể sử dụng bất kỳ đâu trong lớp, nếu mình sử dụng trait ở sau 1 hàm giống trong trait, thì hàm nào sẽ ghi đè hàm nào nhỉ ( ví dụ mình khai báo hàm A() nhưng trước use Trait và trong trait cx có hàm A() thì lớp sẽ gọi đến hàm nào )
Cám ơn @thangtd90 và @quocnb , nói : 0x1ffff chính là số nguyên liền trước của 0x20000 là mình hiểu liền rồi.
Bên dưới bạn @thangtd90 còn giải thích kỹ hơn:
Mình lại được bổ sung thêm kiến thức nữa. Mình cám ơn b nhé
Lúc này phép toán (1 + Math.random()) * 0x10000 sẽ cho ra một kết quả trong đoạn 0x10000 <= x < 0x20000
Dùng thêm hàm Math.floor() nữa bạn sẽ có một số nguyên trong khoảng 0x10000 <= y <= 0x1ffff
Sao đang từ : 0x10000 <= x < 0x20000 qua hàm Math.floor() lại ra được ==> 0x10000 <= y <= 0x1ffff
tại sao từ 20000 chuyển thành 1ffff bằng cách nào vậy bạn?
commit thì em viết chữ gì vào cũng được. Cái đó để đưa code lên github thôi. Sau khi đưa lên thì em phải đợi trang web build trong khoảng 1 phút. Anh k rõ không hiển thị là không hiển thị ảnh hay là k hiển thị cái gì. Có thể đường dẫn ảnh bị sai khi đưa lên github. Em chú ý xem lại từng bước anh đã hướng dẫn. Không hề có bước nào anh không quay video cả. Nếu trang web bị lỗi javascript thì em bật F12 để debug xem sao. Nếu những cái cơ bản này em chưa rõ thì em khả năng phải học 1 khóa về html, css, javascript đi đã nhé.
Nếu có thể thì bạn nên sửa phần giới thiệu về semantic tag thành non-semantic tag. Như vậy follow sẽ chính xác hơn. Bài sau bạn có thể viết lại về Semantic tag và lấy ví dụ về các loại tag semantic.
Good luck!
THẢO LUẬN
@minhnv quỳ
không hỏi nguồn gốc của keyword trait do ai nghĩ ra à Ngọc =)))
chi tiết hơn để chị tìm hiểu nhé (ahuhu)
override (bow)
@buihieubthc2rb Lí do hay dựa vào cơ chế gì nó ưu tiên thế chị
(bow)
Nó ưu tiên hàm ở trong class hơn nhé => kết quả 1
không , ý là dư lày lày
nó gọi cái thằng A hay B nhỉ :v
ý bạn là như này phải không nhỉ https://stackoverflow.com/questions/11939166/how-to-override-trait-function-and-call-it-from-the-overridden-function
Bạn ơi cho mình hỏi chút, việc sử dụng trait là sử dụng bắt buộc ở đầu hay có thể sử dụng bất kỳ đâu trong lớp, nếu mình sử dụng trait ở sau 1 hàm giống trong trait, thì hàm nào sẽ ghi đè hàm nào nhỉ ( ví dụ mình khai báo hàm A() nhưng trước use Trait và trong trait cx có hàm A() thì lớp sẽ gọi đến hàm nào )
Em mà đưa ra thêm được một số ứng dụng thực tiễn vào dự án hoặc kinh nghiệm thực tế thì hay hơn.
Cám ơn @thangtd90 và @quocnb , nói :
0x1ffff chính là số nguyên liền trước của 0x20000
là mình hiểu liền rồi. Bên dưới bạn @thangtd90 còn giải thích kỹ hơn:Mình lại được bổ sung thêm kiến thức nữa. Mình cám ơn b nhé
@wiliamfeng Bạn mở console của Google Chrome lên chẳng hạn, xong gõ vào sẽ thấy
0x20000
có giá trị là131072
, còn0x1ffff
có giá trị là131071
.Cụ thể thì
0x20000 =2∗164=131072
0x1ffff =164+15∗163+15∗162+15∗161+15∗160=131071
@wiliamfeng Bạn chú ý đây đang là tính toán ở hệ
16
nhéNhư bạn @quocnb nói thì
0x1ffff
chính là số nguyên liền trước của0x20000
đấy.@wiliamfeng
Vì
0x1ffff
là số nguyên liền trước của0x20000
.x < 0x20000
nêny = floor(x) <= 0x1ffff
đó bạnBài viết mang tính thả thính :v. Admin có hảo tâm cho xin Doc ạ! Thanks nhìu nhìu , mail: tinsqt@gmail.com
Bạn @thangtd90 cho mình hỏi đoạn này:
Sao đang từ : 0x10000 <= x < 0x20000 qua hàm Math.floor() lại ra được ==> 0x10000 <= y <= 0x1ffff tại sao từ 20000 chuyển thành 1ffff bằng cách nào vậy bạn?
Xin cám ơn mọi người nhiều ạ
commit thì em viết chữ gì vào cũng được. Cái đó để đưa code lên github thôi. Sau khi đưa lên thì em phải đợi trang web build trong khoảng 1 phút. Anh k rõ không hiển thị là không hiển thị ảnh hay là k hiển thị cái gì. Có thể đường dẫn ảnh bị sai khi đưa lên github. Em chú ý xem lại từng bước anh đã hướng dẫn. Không hề có bước nào anh không quay video cả. Nếu trang web bị lỗi javascript thì em bật F12 để debug xem sao. Nếu những cái cơ bản này em chưa rõ thì em khả năng phải học 1 khóa về html, css, javascript đi đã nhé.
Nếu có thể thì bạn nên sửa phần giới thiệu về semantic tag thành non-semantic tag. Như vậy follow sẽ chính xác hơn. Bài sau bạn có thể viết lại về Semantic tag và lấy ví dụ về các loại tag semantic. Good luck!