小编mar*_*rio的帖子

PHP中cURL的好用例是什么?

很明显,cURL函数被广泛使用.但那是为什么呢?是否真的只是因为扩展主要是默认启用的?

虽然我当然可以提到不在内置引入第三方库(DOMDocument vs phpQuery),但使用curl对我来说有些奇怪.有很多HTTP库,如Zend_HttpPEAR Http_Request.尽管我对不必要的面向对象的接口不屑一顾,但curl 的pull-parameter-procedural API相比之下更难以辨认.

当然有理由这样做.但我想知道大多数PHP开发人员是否意识到libcurl实际上可以用于什么,而且它不仅仅是一个HTTP库

您是否有使用cURL的示例或实际代码用于<其他任何>它的制作?

或者,如果您只是将它用于HTTP,原因是什么.为什么现在似乎避免使用真正的PHP HTTP库?

php curl

9
推荐指数
1
解决办法
1555
查看次数

PUZZLE PIECE的Unicode字符?

是否有代表拼图的Unicode符号?在Unicode中有很多很少使用的dingbats,我有点不记得了 - 但怀疑还有一个也是这样的.但是,我在gucharmap找不到类似的东西,因为它可能不完整(缺少克林贡!).在unicode.org/charts/的表格中都没有 - 手动查看太多了.

那么,有没有人看到过PUZZLE角色?

替代问题:您还将使用什么作为应用程序插件的符号?

unicode

8
推荐指数
1
解决办法
4780
查看次数

PHP中的任何真正的MVC库(用于GUI应用程序)

我想知道是否有一个PHP gui库的抽象框架.我们有PHP-GTK,一个PHP/Tk接口,看似也是PHP-QT.(没试过.)

我知道在Python中使用原始Gtk +接口进行编写是可以忍受的,因此它对PHP来说似乎不太诱人.我认为它对Qt来说是一样的,Tk也是相当低级的.所以我正在寻找能够在三者之一上提供更好的对象结构的东西.主要的TreeViews总是一件苦差事,php-gtk回调在PHP中很奇怪,所以我想简化一下.如果它很容易在没有太多控制代码的情况下在我的业务逻辑上添加GUI/View,那可能已经有所帮助.

因此,由于GUI应用程序是MVC或MVP实际上有意义的领域,我想知道是否存在任何库.

仍然愿意回答.
(可能会有第二轮赏金.这是一个不常见的话题,所以需要更多的研究.)

php php-gtk php-qt

8
推荐指数
1
解决办法
1319
查看次数

论坛/理事会在大型PHP框架之一上面编写

我正在寻找一个新的论坛软件(线程)或公告板(平面/分区).我想知道是否有一个基于大型PHP框架(CodeIgniter,Kohana,Yii,CakePHP,ZF,Seagull,Fusebox,Symfony,eZ,Prado或其他......)的实现.

原因:由于ORM和验证以及抽象的处理逻辑,基于框架的实现本质上更安全.并且也将很好地展示框架本身.

每个PHP框架都经常出现例如博客的教程和示例实现.但我在论坛/董事会领域找不到多少.对于Symfony,只有一个实现"sfSimpleForumPlugin",在alpha阶段,似乎已经放弃了,无论如何都太过于实用.
但是我肯定不会寻找功能丰富的论坛脚本.只是常用功能,以及;)特定PHP框架的优秀示例应用程序.

谷歌令人惊讶地难以理解.有东西吗?框架主页没有帮助.(他们都使用phpBB或其他东西.)

php frameworks cakephp codeigniter kohana

6
推荐指数
2
解决办法
1193
查看次数

ftp_fput与ftp_put有什么区别?

在PHP及其手册中,我无法清楚地找到ftp_fputvs 之间的区别ftp_put.

有人可以澄清这两种方法吗?

php ftp

6
推荐指数
1
解决办法
3571
查看次数

更高级别的Python GUI工具包,例如,为TreeView/Grid传递dict

使用PyGTK开始我的第一个Python宠物项目.虽然它是一个非常强大的GUI工具包,看起来很棒,但我有一些小小的烦恼.所以我考虑过渡到别的东西,因为它还不是太广泛.看看SOpython文档,但没有得到很好的概述.

PyGTK有什么好处:

  • 格莱德文件
  • self.signal_autoconnect({...})
  • self.get_widget()as __getattr__

然而,这让我很烦恼:

  • manual gobject.idle_add(lambda:...和False)
  • 没有保存应用程序/窗口状态的标准功能
  • TreeView需要构建数组
  • widget.get_selection().get_selected(),model.get_value(iter,liststore_index)

TreeView:因为这是主要的界面元素,所以它最让人分心.基本上我的应用程序构建了一个要显示的字典列表name = column + row => value.要使用GTK显示它,需要手动转换过程,订购,类型转换.这似乎是很多开销,我希望在这里有一些更面向对象的东西.PyGtk在gtk +之上有许多抽象,但仍然看起来相当低级.我更喜欢按原样传递我的字典,并以某种方式预定义列.(GtkBuilder可以预定义TreeView列,但这不能解决数据表示开销.)

当我在TreeView列表上看到mousclick时,我还必须将所有内容转换回我的应用程序数据结构.而且,如果从非主线程运行,PyGTK不会使用gobject.idle本身包装gtk +调用也很令人讨厌.现在有很多GUI代码我认为不应该是必要的,或者可以合理化.

那么,PyGTK上是否还有其他包装器.或者哪个其他工具包支持更简单的界面来显示Grid/TreeView.我已经阅读了很多关于wxPython是每个人最喜欢的东西,但它在Linux上不太成熟.和PyQt的似乎是大致相同的抽象水平PyGTK的.没有使用很多TkInter,所以不知道它是否有更简单的接口,但无论如何看起来都没有吸引力.和PyFLTK一样.睡衣听起来很迷人,但已经太过分了(桌面应用程序).

.

所以,GUI工具包用dict - > Grid显示.你会选哪个?

.

就像展出的那样,这是我当前的TreeView映射函数.一些作品,但我宁愿有一些标准:

    #-- fill a treeview
    #
    # Adds treeviewcolumns/cellrenderers and liststore from a data dictionary.
    # Its datamap and the table contents can be supplied in one or two steps.
    # When new data gets applied, the …
Run Code Online (Sandbox Code Playgroud)

python gtk user-interface pygtk

5
推荐指数
1
解决办法
2853
查看次数

方法链劫持

这不是一个真正流畅的界面.我有一个构建方法堆栈的对象.哪个由单个函数调用执行.但现在我可能会添加另一个虚拟方法,它"接管"该方法堆栈.


使用案例:我将超级全球包裹在物体中.这允许我"强制"输入过滤.$ _GET和co提供简单的消毒方法.而我的新版本现在允许链接原子过滤器.例如:

$_GET->ascii->nocontrol->text["field"]
Run Code Online (Sandbox Code Playgroud)

这是一个方法调用.它使用尖括号.但这只是一个很好的技巧,可以简化重写任何内容$_GET["field"].无论如何.

现在偶尔也有枚举字段的形式,如字段[0],字段[1],字段[2].这就是为什么我添加了一个虚拟 - >数组过滤方法.它劫持了收集的方法堆栈,并在例如$ _POST数组值上迭代剩余的过滤器.例如$_POST->array->int["list"].

实施有些缩短:

function exec_chain ($data) {
    ...
    while ($filtername = array_pop($this->__filter)) {
    ...
        $data = $this->{"_$filtername"} ($data);
    ...
}

function _array($data) {
    list($multiplex, $this->__filter) = array($this->__filter, array());
    $data = (array) $data;
    foreach (array_keys($data) as $i) {
        $this->__filter = $multiplex;
        $data[$i] = $this->exec_chain($data[$i]);
    }
    return $data;
}
Run Code Online (Sandbox Code Playgroud)

方法堆栈在$this->__filter列表中组装.上面的exec_chain()只是循环遍历它,每次删除第一个方法名称.虚拟_array处理程序通常是第一种方法.它只是窃取了方法堆栈,并重新执行每个数组元素的余数.与上面的示例代码不完全相同,但它只是重复地重新填充原始方法堆栈.

有用.但感觉有点不干净.我正在考虑添加另一个虚拟方法->xor.(YAGNI?)哪个不会迭代字段,而是评估备用过滤器是否成功.例如$_REQUEST->array->xor->email->url["fields"].我想知道是否有更好的劫持功能列表模式.我当前的钩子列表($ this - > __ filter)交换不适合链接.嗯,实际上, - > xor示例不需要迭代/表现完全像 - >数组.

所以具体来说,我有兴趣找到一个替代我的$ this …

php

5
推荐指数
1
解决办法
261
查看次数

复杂类型作为数组索引

$array[(object)$obj] = $other_obj;

PHP 数组仅适用于标量数据类型(如 int、string、float、boolean、null)的索引。我不能像其他语言一样使用对象作为数组索引吗?那么如何实现对象->对象映射呢?

(虽然我在这里见过类似的东西,但记不太清了,而且我的搜索创造力已经过时了。)

php

5
推荐指数
1
解决办法
678
查看次数

PHP 5.2 preg_match()编译失败

非常感谢一些帮助.我的主机服务器端更新导致我的评论表格抛出两个验证错误.第一个是:preg_match()返回警告:preg_match()[function.preg-match]:编译失败:在[脚本位置此处和行错误]中的偏移13处的字符类中的范围乱序 - 第二个是在主题检查处抵消14.

它在电子邮件地址检查中执行此操作:

if (preg_match('/[^a-zA-Z0-9_-.]/', $_POST['txtEmail']))
Run Code Online (Sandbox Code Playgroud)

和主题检查:

if (preg_match('/[^a-zA-Z0-9:?-. ]/', $_POST['txtSubject']))
Run Code Online (Sandbox Code Playgroud)

我不熟悉PHP,但可以剪切和粘贴!我的网站是frowey.com,这是联系我们的评论表,在托管操作系统更新后开始抛出错误.提前致谢.

php compilation preg-match

5
推荐指数
2
解决办法
6522
查看次数

为什么apache将偏移量保存到内存中,而php-cli拥有虚拟内存地址?

我正在调试php.当我看到内存中我知道指向地址的指针的地方时,我看到指针 - 例如22810408(0x08048122) - 这是在使用CLI的CLI版本时.

但是,当我使用apache2并尝试做同样的事情时,我没有看到指向真实地址的指针.相反,我看到ELF头的偏移量,当添加到ELF头的地址时,给我"真实"的地址.例如,如果"真实"地址是0x08048122,并且ELF标题位于0x08048000,那么我会在同一位置看到22010000(0x122).

当我试图找出堆栈中某些东西的"真实"地址时,问题就出现了."真实"地址应该是0xbfccxxxx,但是当我将数字添加到ELF标题时,事情就是不加起来!我得到了所有错误的地址.

我已经尝试了谷歌搜索了很长时间,但我真的不确定如何正确地说这个,或者搜索什么.

所以,我基本上寻找的是关于为什么Apache有偏移而不是实际内存地址的更多信息,以及这些都与堆栈上的地址有什么关系.任何人都可以给我任何可能澄清的材料吗?

php c apache debugging memory-management

5
推荐指数
1
解决办法
162
查看次数