tôi đồng ý. Một số tài nguyên có thể biến mất trong tương lai nhưng những tài nguyên khác, như
các luồng đã mở, hoàn toàn không lỗi thời
Vì 'tài nguyên' không đủ cụ thể. Điều gì về việc bao gồm các tài nguyên
gõ theo một cách nào đó?
Chỉ cần thay thế dấu cách bằng dấu gạch dưới [e. g. 'persistent_stream']
Trân trọng
François
chưa đọc tôi 13. 11. 2015 tháng 11. 57 schrieb François Laupretre francois@php. net Xin chào, Lê 13/11/2015 04. 30, Stanislav Malyshev a écrit Xin chào Lý do cho điều này là loại tài nguyên là lỗi thời từ một tôi đồng ý. Một số tài nguyên có thể biến mất trong tương lai nhưng những tài nguyên khác, chẳng hạn như luồng đã mở, hoàn toàn không lỗi thời Vì 'tài nguyên' không đủ cụ thể. Điều gì về việc bao gồm loại tài nguyên theo một cách nào đó? . g. 'persistent_stream'] Trân trọng François Giải pháp thay thế là thay thế tài nguyên bằng các đối tượng thích hợp, không có phương thức và thuộc tính công khai Có cú pháp đặc biệt không thực sự cải thiện nhiều Bob chưa đọc Giải pháp thay thế là thay thế tài nguyên bằng các đối tượng thích hợp, không có phương thức và thuộc tính công khai Có cú pháp đặc biệt không thực sự cải thiện nhiều Bob Tôi vừa xem lại cái này, và tôi không biết làm thế nào tôi có thể bỏ lỡ cái này -- chưa đọc Ben Scholzen 'DASPRiD' đã viết vào ngày 23/11/2015 01. 57 Phương án thay thế là thay thế các tài nguyên bằng các đối tượng thích hợp, mà không cần Có cú pháp đặc biệt không thực sự cải thiện nhiều Bob Tôi vừa xem lại cái này, và tôi không biết làm thế nào tôi có thể bỏ lỡ cái này Tôi tin rằng người chặn đang gấp rút chuyển đổi các tài nguyên hiện có thành Các chức năng chấp nhận tài nguyên làm tham số có thể dễ dàng được Rowan Collins chưa đọc Xin chào, Vào Thứ Hai, ngày 23 tháng 11 năm 2015 lúc 10. 30 giờ sáng, thanh lương trà Rowan Collins. collins@gmail. com Ben Scholzen 'DASPRiD' đã viết vào ngày 23/11/2015 01. 57 Phương án thay thế là thay thế các tài nguyên bằng các đối tượng thích hợp, mà không cần Có cú pháp đặc biệt không thực sự cải thiện nhiều Bob Tôi vừa xem lại cái này, và tôi không biết làm thế nào tôi có thể bỏ lỡ cái này Tôi tin rằng người chặn đang gấp rút chuyển đổi các tài nguyên hiện có thành Các chức năng chấp nhận tài nguyên làm tham số có thể dễ dàng được mở rộng Rowan Collins Làm thế nào đây là một thay đổi đột phá? Có thể tạo một [có thể trống, nhưng có thể hữu ích] Nhưng tôi chắc chắn muốn thấy một đối tượng CurlResource hoặc ImageResource lớp CurlResource thực hiện Tài nguyên { } Điều duy nhất tôi thấy gây tranh cãi, thực ra là, chưa đọc Davey Shafik viết ngày 23/11/2015 16. 17 Làm thế nào đây là một thay đổi đột phá? Trong các chức năng đó thì không sao, nhưng có một số "meta" chuyển đổi [ gettype[$file] ] Có thể tạo một [có thể trống, nhưng có thể hữu ích] Điều này chắc chắn có ích, nhưng bạn vẫn phải phá vỡ thứ gì đó, bởi vì Nhưng tôi chắc chắn muốn xem CurlResource hoặc ImageResource Chắc chắn đồng ý ở đây Điều duy nhất tôi thấy gây tranh cãi thực ra là, Tôi nghĩ sẽ thật kỳ lạ nếu nó không trả về giá trị đúng - nếu không thì trong 10 Gây tranh cãi hơn là cách Rowan Collins chưa đọc Tôi tin rằng người chặn đang gấp rút chuyển đổi các tài nguyên hiện có thành Có một trình chặn khác. SplFileObject hiện không có Tôi có thể đề xuất triển khai -- chưa đọc Có một trình chặn khác. SplFileObject hiện không có Sử dụng bộ đếm tham chiếu và hàm hủy làm cơ chế giải phóng tài nguyên là một mẫu OO rất phổ biến [đôi khi được gọi là "RAII"] và cũng được sử dụng ở những nơi khác trong PHP, e. g. PDO Điều đó có nghĩa là bất cứ nơi nào bạn có tham chiếu đến đối tượng, bạn thực sự có thể sử dụng nó, thay vì phải kiểm tra xem nó có bị đóng ở nơi khác hay không và tiết kiệm nhu cầu dùng thử. cuối cùng khối ở nhiều nơi Nếu bạn muốn một tham chiếu yếu, bạn có thể bọc nó trong một thùng chứa ủy quyền, với hành vi "đóng và bắt đầu ném ngoại lệ" mà bạn đang theo đuổi. chỉ cần có một thành viên riêng cho tài nguyên thực và chỉ chuyển qua các lệnh gọi phương thức khi nó không rỗng Cũng lưu ý rằng các tham chiếu vòng tròn không phải là một vấn đề lớn, vì PHP đã có một trình thu gom rác chuyên dụng được tích hợp sẵn trong một thời gian và bạn thường có thể hạn chế sử dụng chúng với thiết kế cẩn thận
thời đại mà PHP không có các đối tượng, nhưng vẫn cần phải chắc chắn
các loại dữ liệu mờ. Loại tài nguyên là loại chỉ tồn tại đối với
Tôi nghĩ lý do cụ thể hơn không phải là loại tài nguyên đã lỗi thời, mà là
tài nguyên đó không thực sự là một loại - đó là một tập hợp các loại. mysql
kết nối là một tài nguyên và tệp là một tài nguyên, nhưng chúng chắc chắn
không thể thay thế cho nhau. Vì vậy, nhập một giá trị là "tài nguyên" sẽ không đạt được
bạn nhiều
Sau đó, chúng tôi có thể tích hợp nó vào hệ thống phân cấp đối tượng của mình theo cách rất nhẹ nhàng với cách nhập chính xác
Sau đó, chúng tôi có thể tích hợp nó vào hệ thống phân cấp đối tượng của mình theo cách rất nhẹ nhàng với cách nhập chính xác
quá lâu, nhưng chúng ta đã có SplFileObject. Nó sẽ không có ý nghĩa để
hãy để fopen[]
và các chức năng bổ sung sử dụng?
Ben Scholzen 'DASPRiD'
Thành viên nhóm đánh giá cộng đồng. thư @ dasprids. de
Khung Zend. http. //www. dasprids. de
Phương thức và thuộc tính công khai
Sau đó, chúng tôi có thể tích hợp nó vào hệ thống phân cấp đối tượng của mình theo cách rất
cách nhẹ nhàng với kiểu gõ thích hợp
quá lâu, nhưng chúng tôi đã có SplFileObject. nó sẽ không có ý nghĩa
để cho fopen[]
và các chức năng bổ sung sử dụng?
các đối tượng là có các chức năng như is_resource[]
và getttype[]
sẽ bắt đầu cư xử khác đi
được mở rộng để chấp nhận tài nguyên hoặc đối tượng, nhưng bất kỳ thứ gì
hiện đang trả về một tài nguyên không thể thay đổi mà không khai báo
phá vỡ sự thay đổi. Và nếu bạn đang thay đổi fgets nhưng không thay đổi fopen, bạn có thể
cũng như chỉ cần xây dựng một API mới, mà SplFileObject đã có hầu hết
[vì một số lý do, nó dường như bao gồm fputcsv chứ không phải fputs]Trân trọng,
[IMSoP]
đã viết
Phương thức và thuộc tính công khai
Sau đó, chúng tôi có thể tích hợp nó vào hệ thống phân cấp đối tượng của mình theo cách rất
cách nhẹ nhàng với kiểu gõ thích hợp
quá lâu, nhưng chúng ta đã có SplFileObject. Sẽ không có ý nghĩa gì nếu đểfopen[]
và chức năng bổ sung sử dụng?
đối tượng là có các chức năng như is_resource[]
và getttype[] mà
sẽ bắt đầu cư xử khác đi
để chấp nhận tài nguyên hoặc đối tượng, nhưng bất kỳ thứ gì hiện đang trả về
một tài nguyên không thể được thay đổi mà không tuyên bố thay đổi vi phạm. Và nếu
bạn đang thay đổi fgets chứ không phải fopen, bạn cũng có thể xây dựng một cái mới
API mà SplFileObject đã có hầu hết [vì lý do nào đó, nó xuất hiện
để bao gồm fputcsv chứ không phải fputs]Trân trọng,
[IMSoP]
đối tượng tài nguyên là từ một hàm hiện trả về một tài nguyên [e. gimagecreate[]
] và bạn không thể làm gì với tài nguyên ngoại trừ chuyển vào
những thứ mong đợi tài nguyên. Nếu thay vào đó, chúng trả về một đối tượng và mọi
chức năng hiện đang mong đợi một tài nguyên hiện đang mong đợi loại đó
đối tượng tài nguyên, nó chỉ có thể hoạt động…
giao diện mà tất cả các đối tượng tài nguyên mới thực hiện, nghĩa làis_resource[]
và gettype[]
có thể kiểm tra điều đó trong tương lai và trả lại một
kết quả BC [và nếu cần, hãy để phần triển khai hiện tại ở đó dưới dạng
đường dẫn mã cho tiện ích mở rộng tùy chỉnh có thể]. Bạn cũng có thể gõ gợi ý đó
giao diện, thay thế một cách minh bạch gợi ý loại được đề xuất hoặc
thay vì
thay vì gợi ý loại tài nguyên. Nghĩ
hàm makeRequest[CurlResource $curl] { }
chức năng serializeResource[Tài nguyên $resource] { }
gettype[$myResource] == 'tài nguyên'
is_resource[$myResource] == true
[$myResource instanceof CurlHandler] == truefopen[]
0 — nếu điều đó
trả về false, duy trì BC hay true?
đối tượng tài nguyên là từ một hàm hiện đang trả về một tài nguyên
[e. g. imagecreate[]
], và bạn không thể làm gì với tài nguyên ngoại trừ
chuyển vào những thứ mong đợi tài nguyên. Nếu thay vào đó họ trả lại một
đối tượng và mọi chức năng hiện đang mong đợi một tài nguyên
mong đợi loại đối tượng tài nguyên đó, nó có thể hoạt động…
các chức năng có thể cho biết sự khác biệt giữa một tài nguyên và một
đối tượng và chúng có thể được sử dụng trong mã hiện có để xử lý lỗi hoặc
hành vi chuyển đổi - e. g
{
trường hợp 'chuỗi'
// code để mở một handle mới
nghỉ;
trường hợp 'tài nguyên'
// code để sử dụng handle mở
nghỉ;
trường hợp 'đối tượng'
nếu [ $file instanceOf MyFileWrapperInterface ] //
nghỉ;
vỡ nợ
// lỗi
}
giao diện mà tất cả các đối tượng tài nguyên mới thực hiện, nghĩa làis_resource[]
và gettype[]
có thể kiểm tra điều đó trong tương lai và
trả về kết quả BC [và nếu cần, hãy để nguyên cách triển khai hiện tại
trong đó có thể là một đường dẫn mã cho các tiện ích mở rộng tùy chỉnh]. Bạn cũng có thể
gõ gợi ý tắt giao diện đó, hoặc thay thế một cách minh bạch
gợi ý loại đề xuất, hoặc thay vì
hiện tại is_resource[]
và fopen[]
0 loại trừ lẫn nhau vàgettype[]
chỉ có thể trả về một chuỗi, vì vậy bạn phải ngắt chuỗi của ai đó
mã ở đâu đó. [Cue xkcd truyện tranh "mọi thay đổi đều phá vỡ dòng chảy của ai đó";
nhưng tôi nghĩ rằng ví dụ trên chứng minh rằng đây là một điều không tầm thường
nghỉ. ]
đối tượng thay vì gợi ý loại tài nguyênfopen[]
0 — nên
trả về sai, duy trì BC hay đúng?
nhiều năm nữa, sẽ có một ghi chú kỳ lạ trong sách hướng dẫn nói rằng
"is_object[$var]. trả về true nếu $var là một đối tượng, trừ khi nó là một trong
các loại nội bộ sau đây. " gettype[]
trả lại 'tài nguyên' cho một
đối tượng sẽ gây ngạc nhiên tương tựis_resource[]
nên cư xử;
tài nguyên được chuyển đổi, dù sao thì nó cũng có thể không được dùng nữa, tôi đoán vậyTrân trọng,
[IMSoP]
các đối tượng là có các chức năng như is_resource[]
và getttype[]
sẽ bắt đầu cư xử khác đifopen[]
1
phương pháp, mà chắc chắn nên được thực hiện. Hiện tại nó dựa vào
bị phá hủy để đóng tài nguyên nội bộ. Trường hợp chéo
tài liệu tham khảo, không có cách nào để đóng xử lý tệp một cách rõ ràngfopen[]
1 trong SplFileObject ngay bây giờ để mang nó
phù hợp với các chức năng đơn giản?
trên một SplFileObject và e. g. một fopen[]
4, fopen[]
5 hoặc cách gọi tương tự là
thực hiện trên đối tượng, nó ném là một ngoại lệ?
Ben Scholzen 'DASPRiD'
Thành viên nhóm đánh giá cộng đồng. thư @ dasprids. de
Khung Zend. http. //www. dasprids. defopen[]
1
phương pháp, mà chắc chắn nên được thực hiện. Hiện tại nó dựa vào
bị phá hủy để đóng tài nguyên nội bộ. Trường hợp chéo
tài liệu tham khảo, không có cách nào để đóng xử lý tệp một cách rõ ràngLoại tài nguyên PHP là gì?
Gợi ý kiểu trong PHP là gì?
Gợi ý kiểu được thêm vào PHP khi nào?
Gợi ý kiểu trong laravel là gì?