Hướng dẫn how can i access a class in php? - làm thế nào tôi có thể truy cập một lớp trong php?

Tôi có một lớp học như:

class bla_bla extends WP_Widget {

  function boo[]{
    return 'something';
  }

  ...
}

[Đó là một tiện ích WordPress]

Làm thế nào tôi có thể truy cập chức năng boo[] từ bên ngoài lớp? Tôi muốn gán giá trị được trả về bởi hàm đó cho một biến, như $var = boo[];

hỏi ngày 18 tháng 11 năm 2010 lúc 15:13Nov 18, 2010 at 15:13

1

Bạn có thể truy cập trực tiếp hoặc bằng cách khởi tạo lớp:

$blah = new bla_bla[];
$var = $blah->boo[];

hoặc

$var = bla_bla::boo[];

Đã trả lời ngày 18 tháng 11 năm 2010 lúc 15:17Nov 18, 2010 at 15:17

RdlrdlRDL

7.7973 Huy hiệu vàng28 Huy hiệu bạc32 Huy hiệu đồng3 gold badges28 silver badges32 bronze badges

0

Bạn phải có một thể hiện của lớp đó để gọi nó, ví dụ:

$widget = new bla_bla[];
$var = $widget->boo[];

Mặt khác, bạn có thể thêm từ khóa "tĩnh" vào hàm boo [] và bạn có thể gọi nó như $var = WP_Widget::boo[]; nhưng điều này thay đổi ngữ nghĩa và có thể phá vỡ mã.

Đã trả lời ngày 18 tháng 11 năm 2010 lúc 15:16Nov 18, 2010 at 15:16

PalantirpalantirPalantir

23.4K9 Huy hiệu vàng75 Huy hiệu bạc85 Huy hiệu Đồng9 gold badges75 silver badges85 bronze badges

0

Đầu tiên bạn cần một ví dụ của lớp. Sau đó, bạn gọi phương thức [nếu nó là công khai]. Bạn nên đọc một số hướng dẫn OOP vì đây là những thứ thực sự cơ bản. Xem PHP định hướng đối tượng cho người mới bắt đầu.

$bla = new bla_bla[];
$var = $bla->boo[];

Đã trả lời ngày 18 tháng 11 năm 2010 lúc 15:16Nov 18, 2010 at 15:16

PalantirpalantirAlexV

23.4K9 Huy hiệu vàng75 Huy hiệu bạc85 Huy hiệu Đồng16 gold badges86 silver badges119 bronze badges

Đầu tiên bạn cần một ví dụ của lớp. Sau đó, bạn gọi phương thức [nếu nó là công khai]. Bạn nên đọc một số hướng dẫn OOP vì đây là những thứ thực sự cơ bản. Xem PHP định hướng đối tượng cho người mới bắt đầu.

$bla = [new bla_bla]->boo[];

AlexvalexvJul 9, 2020 at 6:57

$bla = new bla_bla[];
$var = $bla->boo[];

22.2K16 Huy hiệu vàng86 Huy hiệu bạc119 Huy hiệu đồngNov 18, 2010 at 15:15

Phong cách viết ngắn:enobrev

Đã trả lời ngày 9 tháng 7 năm 2020 lúc 6:577 gold badges43 silver badges53 bronze badges

1

Đã trả lời ngày 18 tháng 11 năm 2010 lúc 15:15

EnobrevenobrevJun 2 at 22:12

1

PHP - Bộ điều chỉnh truy cập

Các thuộc tính và phương thức có thể có các sửa đổi truy cập kiểm soát nơi chúng có thể được truy cập.

Có ba công cụ sửa đổi truy cập:

  • $blah = new bla_bla[];
    $var = $blah->boo[];
    
    0 - Thuộc tính hoặc phương thức có thể được truy cập từ mọi nơi. Đây là mặc định
  • $blah = new bla_bla[];
    $var = $blah->boo[];
    
    1 - thuộc tính hoặc phương thức có thể được truy cập trong lớp và bởi các lớp có nguồn gốc từ lớp đó
  • $blah = new bla_bla[];
    $var = $blah->boo[];
    
    2 - thuộc tính hoặc phương thức chỉ có thể được truy cập trong lớp

Trong ví dụ sau, chúng tôi đã thêm ba công cụ sửa đổi truy cập khác nhau vào ba thuộc tính [tên, màu sắc và trọng lượng]. Ở đây, nếu bạn cố gắng đặt thuộc tính tên, nó sẽ hoạt động tốt [vì thuộc tính tên là công khai và có thể được truy cập từ mọi nơi]. Tuy nhiên, & nbsp; nếu bạn cố gắng đặt thuộc tính màu hoặc trọng lượng, nó sẽ dẫn đến một lỗi nghiêm trọng [vì tính chất màu và trọng lượng được bảo vệ và riêng tư]:

Thí dụ

$blah = new bla_bla[];
$var = $blah->boo[];
2 - thuộc tính hoặc phương thức chỉ có thể được truy cập trong lớp
class Fruit {
  public $name;
  protected $color;
  private $weight;
}

$ xoài = fruit new []; $ xoài-> name = 'xoài'; // OK $ Mango-> color = 'màu vàng'; // lỗi $ Mango-> trọng lượng = '300'; // lỗi?>
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?>

Trong ví dụ tiếp theo, chúng tôi đã thêm các sửa đổi truy cập vào hai chức năng. Ở đây, nếu bạn cố gắng gọi hàm set_color [] hoặc hàm set_weight [], nó sẽ dẫn đến một lỗi nghiêm trọng [vì hai hàm được coi là được bảo vệ và riêng tư], ngay cả khi tất cả các thuộc tính đều được công khai:

Thí dụ

$blah = new bla_bla[];
$var = $blah->boo[];
2 - thuộc tính hoặc phương thức chỉ có thể được truy cập trong lớp
class Fruit {
  public $name;
  public $color;
  public $weight;

$ xoài = fruit new []; $ xoài-> name = 'xoài'; // OK $ Mango-> color = 'màu vàng'; // lỗi $ Mango-> trọng lượng = '300'; // lỗi?>
    $this->name = $n;
  }
  protected function set_color[$n] { // a protected function
    $this->color = $n;
  }
  private function set_weight[$n] { // a private function
    $this->weight = $n;
  }
}

Trong ví dụ tiếp theo, chúng tôi đã thêm các sửa đổi truy cập vào hai chức năng. Ở đây, nếu bạn cố gắng gọi hàm set_color [] hoặc hàm set_weight [], nó sẽ dẫn đến một lỗi nghiêm trọng [vì hai hàm được coi là được bảo vệ và riêng tư], ngay cả khi tất cả các thuộc tính đều được công khai:
$mango->set_name['Mango']; // OK
$mango->set_color['Yellow']; // ERROR
$mango->set_weight['300']; // ERROR
?>



Làm thế nào tôi có thể truy cập một chức năng lớp trong PHP?

Bạn phải có một thể hiện của lớp đó để gọi nó, ví dụ: $ widget = new bla_bla []; $ var = $ widget-> boo []; Mặt khác, bạn có thể thêm từ khóa "tĩnh" vào hàm boo [] và bạn có thể gọi nó như $ var = wp_widget :: boo []; Nhưng điều này thay đổi ngữ nghĩa và có thể phá vỡ mã., for example: $widget = new bla_bla[]; $var = $widget->boo[]; Otherwise, you can add the "static" keyword to the boo[] function, and you could call it like $var = WP_Widget::boo[]; but this changes the semantics and could break code.

Làm thế nào để bạn gọi một lớp trong PHP?

PHP: Các hằng số lớp Khi gọi một lớp hằng số bằng cách sử dụng cú pháp $ glassName :: hằng số, tên lớp thực sự có thể là một biến.Kể từ Php 5.3, bạn có thể truy cập hằng số lớp tĩnh bằng cách sử dụng tham chiếu biến [ví dụ: className :: $ varconstant].$classname :: constant syntax, the classname can actually be a variable. As of PHP 5.3, you can access a static class constant using a variable reference [Example: className :: $varConstant].

Làm thế nào để bạn truy cập các thuộc tính của một lớp?

Trong các phương thức lớp các thuộc tính không tĩnh có thể được truy cập bằng cách sử dụng-> [toán tử đối tượng]: $ this-> thuộc tính [trong đó thuộc tính là tên của thuộc tính].Thuộc tính tĩnh được truy cập bằng cách sử dụng :: [Double Colon]: Self :: $ $ thuộc tính.non-static properties may be accessed by using -> [Object Operator]: $this->property [where property is the name of the property]. Static properties are accessed by using the :: [Double Colon]: self::$property .

Làm thế nào chúng ta có thể truy cập các thuộc tính và phương thức của một lớp trong PHP?

Khi bạn có một đối tượng, bạn có thể sử dụng -> ký hiệu để truy cập các phương thức và thuộc tính của đối tượng: $ object -> propertyName $ object -> methodname [[arg, ...]] các phương thứcvà trả về một giá trị: $ clan = $ rasmus-> gia đình ['mở rộng'];$object -> propertyname $object -> methodname [[ arg, ... ] ] Methods are functions, so they can take arguments and return a value: $clan = $rasmus->family['extended'];

Bài Viết Liên Quan

Chủ Đề