问题标签 [spl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3708 浏览

php - SplEnum 不会在 apache 中自动加载——在 CLI 中有效

我无法自动加载我编写的扩展 SplEnum 的类。我已经成功安装了 Spl_Types。

奇怪的是,当通过 CLI 运行时,类自动加载很好。但是,通过 apache 运行脚本时遇到了问题。

该类定义如下:

运行这个:

给出:

致命错误:在第 8 行的 [...] Colour.php 中找不到类“SplEnum”

我已经运行phpinfo()了 apache 并检查了列出的 php.ini 文件是否包含 spl_types 扩展名,但仍然没有乐趣。

我非常感谢您对此提供的任何帮助。

谢谢,

罗斯

0 投票
7 回答
14407 浏览

php - 如何从目录迭代器循环中排除文件类型

递归的简单目录迭代器,显示所有文件和目录/子目录。

我没有看到任何用于排除某些文件类型的内置函数,例如在下面的示例中,我不想输出任何与图像相关的文件,例如.jpg.png等。我知道有几种方法可以做到这一点,寻求建议最好的。

0 投票
2 回答
240 浏览

php - RecursiveIteratorIterator 空白页

我正在尝试使用RecursiveIteratorIteratorand RecursiveDirectoryIterator

我想在我的c:\文件夹中获取所有文件。但我不知道为什么我不能得到结果,而是一个空白页。

但如果我使用这个代码,它的工作

0 投票
3 回答
15942 浏览

php - Extending ArrayObject in PHP properly?

Problem: I am trying to extend PHP's ArrayObject as shown below. Unfortunately I can't get it to work properly when setting multi-dimensional objects and instead an error thrown as I have the strict settings enabled in PHP. (Error: Strict standards: Creating default object from empty value)

Question: How can I modify my class to automatically create non-existing levels for me?

The code:

0 投票
3 回答
101365 浏览

php - 什么是自动加载;如何使用 spl_autoload、__autoload 和 spl_autoload_register?

我正在学习高级 PHP 标准并尝试实施新的有用的方法。早些时候我__autoload只是用来逃避在每个页面上包含多个文件,但最近我看到了一个关于__autoload manual

spl_autoload_register()为自动加载类提供了更灵活的替代方案。出于这个原因,不鼓励使用__autoload()并且将来可能会弃用或删除。

但我真的不知道如何实施spl_autoloadspl_autoload_register

0 投票
2 回答
542 浏览

php - spl_autoload 不调用第二个自动加载函数

我有一个 spl_autoload 被调用,但问题是第二个自动加载没有执行,我不知道为什么。使用此代码此代码脚本应该死。我从文件夹数组中删除类,自动加载将起作用。我的代码如下所示:

0 投票
3 回答
1744 浏览

php - PHP SPL RecursiveDirectoryIterator - getPath 和 ltrim 路径

n00b在这里,请耐心等待:)

我需要从我的图像目录中获取 jpg 列表,并将其子目录名称显示为给定图像的 CSS div 类。我可以让它工作,但我不知道如何在没有任何路径的情况下将封闭目录名称作为 div 类。IE

图像路径是:images2/food/hotdog.jpg 我需要: <div class="food"><a href="images2/food/hotdog.jpg">

以下工作但不创建数组,我只得到一张图像。如果我删除了我的 $path 和 $folder 尝试,并且有 $thelist .= 'getPath().' 它有效,但我明白<div class="images2/food">了,我的 javascript 不喜欢那样。

这是我的代码:

0 投票
1 回答
117 浏览

php - 在 PHP 5.3 中获取函数对象的唯一 ID

我尝试过使用spl_object_hash,但它显然不适用于函数对象。

那么如何才能最好地做到这一点呢?

0 投票
1 回答
205 浏览

php - Joomla 1.7 中的 ArrayObject 类继承中断?

我写了这个小测试类只是为了说明我的问题

当处理大量数据时,我通常会创建一个继承自 ArrayObject 的类,以更好地构造我的对象并获得一些速度(在 php 5.3 中它快得歇斯底里)。

在任何常规 php 页面中,这都可以正常工作,但在 Joomla 1.7 中使用它时,对象返回已修改。

这是课

在任何常规 php 应用程序中,它都会返回

但在 Joomla 中它返回

所以它跳过了除了非常烦人的数组对象之外的所有内容,因为文档(无论如何都很糟糕)没有涵盖这种行为。我正在编写更大的框架,这些框架依赖于这种设计模式才能工作,所以我不想重新设计所有东西!:)

任何建议从哪里开始?

0 投票
1 回答
741 浏览

php - 使用 PHP 迭代器

朋友们。我知道,这些迭代器已经有很多问题了。我读过一些东西,我不是初学者......但我的想法有点停留在这个上面。请帮助我理解我在实践中如何使用迭代器。

假设,我有一个可以从数据库中选择实例的 ORM 对象。一个实例包含字段并且可以像往常一样插入、uodate 等。我想遍历一个类型的所有对象,但由于它们可能很多,我更喜欢通过“页面”来选择它们。我的代码:

我觉得迭代器范式适合这里,但是在这种情况下,什么接口更适合实现,或者可能是一些基础 SPL 类?

更新 理想情况下,上面带有迭代器的代码可能如下所示:

例如,所有逐页行为都在迭代器内。