Hướng dẫn how are classes loaded in php? - làm thế nào các lớp được tải trong php?

Tôi là nhà phát triển C#, vì vậy tôi đã quen với việc biên dịch thư viện và bao gồm nó trong một dự án để sử dụng. Tôi thực sự chưa tìm ra cách tốt nhất để tải các đối tượng khác nhau trong ứng dụng PHP. Tôi không muốn tiếp tục sử dụng yêu cầu. Một cách tiếp cận tốt để thực hiện là gì?

Hướng dẫn how are classes loaded in php? - làm thế nào các lớp được tải trong php?

Gedrox

Phim thương hiệu vàng 3,56211 gold badge20 silver badges29 bronze badges

hỏi ngày 6 tháng 7 năm 2011 lúc 18:03Jul 6, 2011 at 18:03

Nếu bạn đang sử dụng Php 5.x, có lẽ bạn muốn tự động tải.

Đã trả lời ngày 6 tháng 7 năm 2011 lúc 18:06Jul 6, 2011 at 18:06

Doug Stephendoug StephenDoug Stephen

7,0611 Huy hiệu vàng 37 Huy hiệu bạc45 Huy hiệu đồng1 gold badge37 silver badges45 bronze badges

1

Bạn không cần phải tiếp tục sử dụng require. Bạn có thể require_once() sẽ chỉ phân tích tệp nếu nó chưa được tải.

Cũng trong PHP, vì bao gồm xảy ra vào thời gian chạy, bạn có thể tự do require_once() ở giữa một điều kiện nếu nó phù hợp.

// Only load Class.php if we really need it.
if ($somecondition) {
  // we'll be needing Class.php
  require_once("Class.php");
  $c = new Class();
}
else // we absolutely won't need Class.php

Đã trả lời ngày 6 tháng 7 năm 2011 lúc 18:05Jul 6, 2011 at 18:05

Michael Berkowskimichael BerkowskiMichael Berkowski

263K45 Huy hiệu vàng435 Huy hiệu bạc381 Huy hiệu Đồng45 gold badges435 silver badges381 bronze badges

Tôi là nhà phát triển C# trong quá khứ và tôi có thể nói với bạn rằng bạn cần phải suy nghĩ khác một chút nếu bạn muốn viết các trang web PHP. Bạn cần lưu ý rằng mọi điều không cần thiết sẽ bao gồm sẽ tăng thêm chi phí tài nguyên và kịch bản của bạn sẽ hoạt động chậm hơn. Vì vậy, hãy suy nghĩ hai lần trước khi thêm không cần thiết bao gồm.

Quay lại câu hỏi của bạn bạn có thể sử dụng bao gồm, yêu cầu, tự động tải hoặc thậm chí là Phar. Có lẽ Phar gần hơn với các thư viện C#, bạn có thể bao gồm một thư viện Phar với một số lớp.

Đã trả lời ngày 6 tháng 7 năm 2011 lúc 18:14Jul 6, 2011 at 18:14

Eugene Manuiloveugene ManuilovEugene Manuilov

4.1218 Huy hiệu vàng30 Huy hiệu bạc47 Huy hiệu đồng8 gold badges30 silver badges47 bronze badges

Đặt cái này trong tệp cấu hình của bạn (hoặc bất kỳ tệp nào được bao gồm trong tất cả các trang)

function __autoload($class_name) {
    require_once "Classes" . $class_name . '.php';
}

Đặt mọi lớp trong tập tin riêng biệt với tên của nó. Thay thế "Classes" bằng classes folder của bạn.
replace "Classes" with your classes folder.

Đã trả lời ngày 6 tháng 7 năm 2011 lúc 20:04Jul 6, 2011 at 20:04

SaifsaifSAIF

Huy hiệu đồng 1911 Bạc6 Huy hiệu Đồng1 silver badge6 bronze badges

Bạn có thể tự động tải các lớp. Nhìn thấy:

  • http://us3.php.net/autoload

Từ trang đó:


Lưu ý rằng bạn có thể sử dụng spl_autoload_register() nếu bạn không muốn sử dụng hàm Magic ____10 duy nhất.

Đã trả lời ngày 6 tháng 7 năm 2011 lúc 18:07Jul 6, 2011 at 18:07

MatthewmatthewMatthew

46.8K11 Huy hiệu vàng85 Huy hiệu bạc97 Huy hiệu đồng11 gold badges85 silver badges97 bronze badges

3

Bộ tự động tải sẽ giải quyết tất cả các vấn đề của bạn.

Đã trả lời ngày 6 tháng 7 năm 2011 lúc 18:07Jul 6, 2011 at 18:07

Matthewmatthewalexantd

46.8K11 Huy hiệu vàng85 Huy hiệu bạc97 Huy hiệu đồng3 gold badges27 silver badges41 bronze badges

Bộ tự động tải sẽ giải quyết tất cả các vấn đề của bạn.

Alexantdalexantd

3.5453 huy hiệu vàng27 Huy hiệu bạc41 Huy hiệu đồngJul 6, 2011 at 18:22

Autoloader, như những người khác đã đề cập.daGrevis

Nếu bạn muốn tiến xa hơn ... hãy nhìn cách Kohana (ví dụ) giải quyết vấn đề.36 gold badges97 silver badges137 bronze badges

Đã trả lời ngày 6 tháng 7 năm 2011 lúc 18:22Please note that use of

function __autoload($class_name) {
    require_once "Classes" . $class_name . '.php';
}
1 is deprecated as of PHP 7.2 and its use is discouraged. Using
function __autoload($class_name) {
    require_once "Classes" . $class_name . '.php';
}
3 is suggested instead.

Dagrevisdagrevis


spl_autoload_register(function ($class_name) {

    include 'classes/' . $class_name . '.php';

});

20.6K36 Huy hiệu vàng97 Huy hiệu bạc137 Huy hiệu đồngDec 20, 2019 at 15:01

Hướng dẫn how are classes loaded in php? - làm thế nào các lớp được tải trong php?

Làm thế nào để các lớp hoạt động trong PHP?

Các lớp học không có gì nếu không có đối tượng! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được xác định trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau. Đối tượng của một lớp được tạo bằng cách sử dụng từ khóa mới.Objects of a class is created using the new keyword.

Lớp Autoload trong PHP là gì?

Chức năng SPL_AUTOLOAD_REGISTER () đăng ký bất kỳ số lượng trình tải tự động nào, cho phép các lớp và giao diện được tự động tải nếu chúng hiện không được xác định.Bằng cách đăng ký AutoLoaders, PHP được trao cơ hội cuối cùng để tải lớp hoặc giao diện trước khi không bị lỗi.. By registering autoloaders, PHP is given a last chance to load the class or interface before it fails with an error.

Php autoloader hoạt động như thế nào?

Các tìm kiếm Autoloader PHP một cách đệ quy trong các thư mục được xác định cho các định nghĩa lớp, đặc điểm và giao diện.Không có bất kỳ cấu hình nào khác, thư mục trong đó tệp yêu cầu cư trú sẽ được sử dụng làm đường dẫn lớp mặc định.Tên tập tin không cần phải tuân theo bất kỳ quy ước nào.Tất cả các tập tin được tìm kiếm cho các định nghĩa lớp.searches recursively in defined directories for class, trait and interface definitions. Without any further configuration the directory in which the requiring file resides will be used as default class path. File names don't need to obey any convention. All files are searched for class definitions.

PHP có sử dụng các lớp không?

Các lớp PHP là phương tiện để thực hiện lập trình hướng đối tượng trong PHP.Các lớp là các cấu trúc ngôn ngữ lập trình xác định những đối tượng lớp nào bao gồm theo dữ liệu được lưu trữ trong các biến còn được gọi là thuộc tính và hành vi của các đối tượng được xác định bởi các hàm còn được gọi là phương thức.. Classes are programming language structures that define what class objects include in terms of data stored in variables also known as properties, and behavior of the objects defined by functions also known as methods.