是否有另一种调用 Zend 框架自动加载器的方法。我有这个网页,我在其中加载 Zend_Loader_Autoloader,然后调用静态方法 ::getInstance()。在遇到很多麻烦想知道为什么我的脚本不起作用之后,我设置了一个这样的测试:
<?php
$libreria='/home/u230474/public_classes/Zend/ZendFramework/library';
set_include_path(get_include_path().PATH_SEPARATOR.$libreria);
require_once('Zend/Loader/Autoloader.php');
$libload = Zend_Loader_Autoloader::getInstance();
if(!$libload) echo "Librería Zend Framework cargada"; else echo "Error al cargar la librería";
输出“Error al cargar la librería”。
我还实现了脚本 installlationchecker.php,在其中添加了之前代码的前两行,并且在 public 文件夹的姊妹文件夹中安装了 Zend Framework,安装测试通过了。
但我的问题是,我可以像对象一样调用 Autoloader,比如:
$libload = New Zend_Loader_Autoloader();
$libload->getInstance();
Zend Framework 的文档中似乎没有关于这种替代语法的内容。
我打算这样做是因为该库不会在我需要它的几个脚本上加载,而且这只发生在远程服务器上,在我的测试服务器上它工作正常。我做了这样的测试:
include ('header.php');
//codigo para probar equidad de nombre de archivo---------->
$filename = basename($_SERVER['SCRIPT_FILENAME']);
$request = basename($_SERVER['SCRIPT_NAME']);
if($filename != $request)
die('Case of filename and request do not match!');
echo ('<div class="cuerpo"><div class="mensajes">');
if(isset($_POST['autoresArt'])&&isset($_POST['tituloArt'])&&isset($_POST['correoArt'])&&isset($_POST['descArt'])) {
require_once('libreria.php');
查看我的脚本(在 Windows 上开发的)和 Linux 服务器中的脚本是否存在大小写问题,但似乎没有问题。
顺便说一句,在需要或包含库之前输出的唯一代码是“header.php”,它只是显示输出的 html 文档,加上一些 javascript 来控制它。
PD 对不起,我已经检查过了,正如马特所说,它正在输出库已设置。然而,我一直试图让这段代码工作好几天,因为它在远程服务器上失败,而不是在我的测试服务器上,我猜想 Zend Framework 库没有被加载。其实不是,只是今天我把它设置在公用文件夹的姊妹文件夹中,并调用测试脚本来确定。
但是,我在脚本中设置的代码无法正常运行,类似于:
if(isset($_POST['nombreUs'])) {
$nombreUsuario = reemplaza_blancos($_POST['nombreUs']);
$nombreUsuario = trim($nombreUsuario);
$nombreUsuario = mysql_real_escape_string($nombreUsuario);
$validaDos = new Zend_Validate_Regex('/^([[:alpha:]]|[ÁÉÍÓÚÑñáéíóúÄËÏÖÜäëïöü])[[:alpha:]]|[ÁÉÍÓÚÑñáéíóúÄËÏÖÜäëïöü]+\s?([[:alpha:]][ÁÉÍÓÚÑñáéíóúÄËÏÖÜäëïöü])?/');
if(!$validaDos->isValid($nombreUsuario)) {
$errors ['nombre'] = "El nombre no puede contener números";
}
}
然后我检查if(empty($errors))
然后调用并运行 PHPMailer 类。
看到这个脚本根本无法正常运行,我感到很麻木