Bạn đã từng là có thể giải quyết vấn đề này bằng cách sử dụng các thẻ {php}{/php}
nhưng vì điều này không được chấp nhận, giờ đây bạn phải gán các biến của mình qua $smarty->assign()
, ngoại lệ duy nhất cho điều này là hằng số và variabl của máy chủ es mà bạn vẫn có thể truy cập trực tiếp thông qua đối tượng $smarty
.
(Bạn cũng có thể bật lại các thẻ {php}
nếu bạn muốn và không quan tâm đến lý do bảo mật tiềm ẩn mà chúng đã bị vô hiệu hóa ngay từ đầu).
Bất kỳ của các biến theo yêu cầu như $_GET
, $_POST
, $_COOKIE
, $_SERVER
, $_ENV
và $_SESSION
có sẵn thông qua các đối tượng $smarty
.
Do điều này - hầu hết dữ liệu tôi làm việc với chỉ có thể được truy cập thông qua đối tượng $smarty
mà không phải tạo một tấn (sao chép) biến.
Eg .:
- Tiếp cận một hằng số:
{$smarty.const.MY_CONST_VAL}
- Truy cập vào một var $ _SERVER:
{$smarty.server.REQUEST_METHOD}
// Everything in $_SERVER có thể truy cập
- Nắm lấy cái gì đó từ $ _SESSION:
{$smarty.session.MY_SESSION_VAL}
// Everything in $_SESSION có sẵn
Bạn cần gán biến cho đối tượng thông minh hoặc thông minh sẽ không thể truy cập vào biến đó. Không có cây đũa thần nào để giải quyết chuyện này. – rdlowrey