Maison développement back-end tutoriel php smarty config_load 和 自定义函数 报错解决方法

smarty config_load 和 自定义函数 报错解决方法

Jun 13, 2016 am 10:23 AM
config quot smarty

smarty config_load 和 自定义函数 报错
temp.tpl

HTML code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->{config_load file="../configs/a.conf"}{#s#}
Copier après la connexion

a.conf
HTML code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->s='测试测试'
Copier après la connexion

报错
Fatal error: Uncaught exception 'SmartyException' with message 'Unable to read config file '../configs/a.conf'' in C:\wamp\www\smarty\libs\sysplugins\smarty_internal_resource_file.php:68 Stack trace: #0 C:\wamp\www\smarty\libs\sysplugins\smarty_config_source.php(86): Smarty_Internal_Resource_File->getContent(Object(Smarty_Config_Source)) #1 C:\wamp\www\smarty\libs\sysplugins\smarty_internal_config_file_compiler.php(81): Smarty_Config_Source->__get('content') #2 C:\wamp\www\smarty\libs\sysplugins\smarty_internal_config.php(189): Smarty_Internal_Config_File_Compiler->compileSource(Object(Smarty_Internal_Config)) #3 C:\wamp\www\smarty\libs\sysplugins\smarty_internal_config.php(214): Smarty_Internal_Config->compileConfigSource() #4 C:\wamp\www\smarty\templates_c\187938f6ec55068ed23f0f2de8d126b1ae3149c7.file.temp.tpl.php(36): Smarty_Internal_Config->loadConfigVars(NULL, 'local') #5 C:\wamp\www\smarty\libs\sysplugins\smarty_internal_templatebase.php(180): content_4fb7f6591b8ab2_26457252(Object(Smarty_Internal_Template)) #6 C:\w in C:\wamp\www\smarty\libs\sysplugins\smarty_internal_resource_file.php on line 68


自定义函数
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php require_once './libs/Smarty.class.php';    $smarty=new Smarty;        function myfun($args){        $str="";        for($i=0;$i<$args['times'];$i++){            $str.="测试";        }        return $str;    }    $smarty->register_function("doloop","myfun");    $smarty->display("temp.tpl");?>
Copier après la connexion


temp.tpl
HTML code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->{doloop times="5"}
Copier après la connexion


报错
Fatal error: Uncaught exception 'SmartyException' with message 'Call of unknown method 'register_function'.' in C:\wamp\www\smarty\libs\sysplugins\smarty_internal_templatebase.php:806 Stack trace: #0 [internal function]: Smarty_Internal_TemplateBase->__call('register_functi...', Array) #1 C:\wamp\www\smarty\smarty.php(62): Smarty->register_function('doloop', 'myfun') #2 {main} thrown in C:\wamp\www\smarty\libs\sysplugins\smarty_internal_templatebase.php on line 806

我从smarty官方网站上下载了Smarty 3.1.8 [Smarty-stable.zip] Feb 20th, 2012文件啊
stable这个单词是稳定的意思 我就下了这个包 解压后 我把里面的libs文件夹拷贝到我的www/smarty目录下,
其它像在temp.tpl模板里运行{$smarty.server.SERVER_ADDR}这个语句可以正常显示啊,为什么就运行上面的config_load和自定义函数就不行啊


------解决方案--------------------
google了一下,原来是这样的啊。
3.0以前是用register_function来实现,现在的是新方法registerPlugin。
$smarty->registerPlugin(“function”,”demo”, “demotest”);;//制定类型,这里制定是函数调用,指定模板函数名称和php函数名称
function demotest($params) {
extract($params);//获取参数a与b了
echo $a.$b;//输出
}

模板写法:
{demo a=”2″ b=”test”}
输出:2test

可是模板中使用{config_load}还是要出错啊,怎么解决?
------解决方案--------------------
啊,config_load出错也解决了
我在temp.tpl模板中直接写出{config_load file="a.conf"}
在temp.tpl文件中新建了configs文件夹,并把a.conf放在文件夹里面,
奇怪是的,我没指定a.conf在configs文件夹里啊,它是怎么找到的?
总因该在temp.tpl写成{config_load file="../configs/a.conf"}这对啊,可这样要报错
怎么回事?
smarty3.0是怎么找到它的?
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment corriger l'erreur 0xC00CE556 renvoyée par l'analyseur .NET Comment corriger l'erreur 0xC00CE556 renvoyée par l'analyseur .NET Apr 25, 2023 am 08:34 AM

Lors de l'installation d'une nouvelle version d'une application, Windows peut afficher ce message d'erreur « Une erreur s'est produite lors de l'analyse de C:\\Windows\Microsoft.Net\Framework\v2.0.50727\Config\machine.configParser a renvoyé l'erreur 0xC00CE556 ». Ce problème se produit également au démarrage de votre système. Quelle que soit la situation dans laquelle vous rencontrez ce problème, .NETFramework est le véritable coupable en coulisses. Il existe des correctifs très simples que vous pouvez utiliser pour empêcher ce code d'erreur de réapparaître. Correctif 1 – Remplacer les fichiers corrompus Vous pouvez facilement remplacer le ma corrompu à partir du répertoire d'origine

Comment utiliser ThinkPHP\Config pour la gestion de la configuration en php ? Comment utiliser ThinkPHP\Config pour la gestion de la configuration en php ? May 31, 2023 pm 02:31 PM

Avec le développement continu du langage PHP, ThinkPHP, largement utilisé dans le framework back-end PHP, s'améliore également constamment. À mesure que les scénarios commerciaux deviennent de plus en plus complexes, la demande en matière de gestion de configuration dans ThinkPHP augmente également. Dans ce contexte, ThinkPHP fournit de riches fonctions de gestion de configuration. Aujourd'hui, nous allons présenter comment implémenter la gestion de configuration via ThinkPHPConfig. 1. Introduction à ThinkPHPConfig ThinkPHPConfig est léger

Comment PHP utilise-t-il CodeIgniter\Config pour la gestion de la configuration ? Comment PHP utilise-t-il CodeIgniter\Config pour la gestion de la configuration ? Jun 02, 2023 pm 06:01 PM

1. Introduction à CodeIgniter CodeIgniter est un framework de développement PHP léger et complet conçu pour fournir aux développeurs Web des outils rapides et puissants pour créer des applications Web. Il s'agit d'un framework open source qui utilise le modèle d'architecture MVC pour réaliser un développement rapide et des fonctions de base, tout en prenant en charge une variété de bases de données. 2. Introduction à la bibliothèque Config La bibliothèque Config est un composant du framework CodeIgniter et est utilisée pour configurer et gérer le code. La bibliothèque Config contient de nombreux

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Comment utiliser PHP et Smarty pour réaliser un développement de séparation front-end et back-end Comment utiliser PHP et Smarty pour réaliser un développement de séparation front-end et back-end Jun 25, 2023 pm 01:46 PM

Dans le développement Web moderne, la séparation du front-end et du back-end est devenue une tendance très populaire, qui permet aux développeurs de mieux organiser les projets et d'améliorer l'efficacité du développement de projets. PHP et Smarty sont deux technologies très couramment utilisées, qui peuvent être utilisées pour réaliser un développement de séparation front-end et back-end. Cet article explique comment utiliser PHP et Smarty pour réaliser un développement de séparation front-end et back-end. Qu'est-ce que le développement de séparation front-end et back-end ? Dans le développement web traditionnel, le front-end est principalement responsable de la présentation de la page et de la logique d'interaction avec le back-end. Le backend est principalement responsable de l’activité

Une étude préliminaire sur Smarty, le moteur de template en PHP Une étude préliminaire sur Smarty, le moteur de template en PHP May 11, 2023 pm 05:15 PM

De nos jours, le développement de sites Web est indissociable d’un important moteur de modèles de composants. Un moteur de modèles fait référence à un outil qui combine des modèles de page et des données pour générer du code HTML avec un format spécifique. Dans divers frameworks de développement de sites Web, le moteur de modèles est un composant essentiel, car le moteur de modèles peut réduire considérablement la duplication de code et améliorer la dynamique de la page. L'un des moteurs de modèles les plus courants et les plus populaires est Smarty. Smarty est un DSL (DomainSpecif

Comment utiliser le moteur de modèles Smarty dans le développement PHP Comment utiliser le moteur de modèles Smarty dans le développement PHP Jun 27, 2023 pm 01:28 PM

En tant que développeur PHP, utiliser un moteur de modèles est un choix naturel. Smarty est un moteur de modèles populaire qui permet de séparer HTML/CSS/JavaScript du code PHP, permettant ainsi aux développeurs de mieux organiser et gérer les projets. Dans cet article, nous apprendrons comment utiliser le moteur de modèles Smarty lors du développement PHP. 1. Installer Smarty Avant, il faut installer Smarty. Dans cet article, nous utiliserons Composer pour installer

Comment utiliser PHP et le moteur de template Smarty Comment utiliser PHP et le moteur de template Smarty May 11, 2023 pm 03:33 PM

PHP est un puissant langage de script côté serveur qui peut être utilisé pour développer des applications Web. Au début du développement Web, les programmeurs utilisaient beaucoup de code HTML et JavaScript pour développer des applications Web. Cependant, cette approche est difficile à maintenir et à gérer car le code HTML et JavaScript peut devenir très complexe. Pour résoudre ce problème, le moteur de modèles Smarty a été créé. Smarty est un moteur de template développé basé sur PHP pour gérer et générer des W

See all articles