Tôi cần một ý tưởng để tạo lớp ẩn danh trên PHP. Tôi không biết làm thế nào tôi có thể làm việc.Xây dựng lớp ẩn danh
Xem những hạn chế của tôi:
- Mở PHP bạn không thể làm cho lớp nặc danh, như chức năng ẩn danh (như
class {}
); - Trên PHP bạn không có phạm vi lớp (ngoại trừ trong không gian tên, nhưng nó có cùng một vấn đề bên dưới);
- Trên PHP, bạn không thể sử dụng các biến để chỉ định tên lớp (như
class $name {}
); - Tôi không có quyền truy cập để cài đặt
runkit
PECL.
gì tôi cần, và tại sao:
Vâng, tôi cần phải tạo một hàm gọi là tức create_class()
rằng nhận được một tên khóa và một lớp nặc danh. Nó sẽ hữu ích cho tôi vì tôi muốn sử dụng các ký hiệu lớp tên khác nhau mà PHP không thể chấp nhận. Ví dụ:
<?php
create_class('it.is.an.example', function() {
return class { ... }
});
$obj = create_object('it.is.an.example');
?>
Vì vậy, tôi cần ý tưởng chấp nhận việc sử dụng này. Tôi cần nó bởi vì trên khuôn khổ của tôi, tôi có đường dẫn này: /modules/site/_login/models/path/to/model.php
. Vì vậy, số model.php
cần khai báo một lớp mới có tên là site.login/path.to.model
.
On gọi create_object()
nếu bộ nhớ cache nội bộ có một định nghĩa $class
(như it.is.an.example
nó chỉ đơn giản trả lại đối tượng lớp mới. Nếu không, cần tải. Vì vậy, tôi sẽ sử dụng nội dung $class
để tìm kiếm các tập tin lớp là nhanh chóng tiện lợi gì.
Việc thiếu các lớp ẩn danh của PHP là cực kỳ hạn chế. – MirroredFate
Bạn có thể muốn xem xét câu hỏi này: http://stackoverflow.com/q/6384431/3933332 – Rizier123
Tại sao bạn phải sử dụng tên lớp không hợp lệ? Tại sao bạn không thể thay thế những '´´ này bằng cách, giả sử, '_'? –