小编Swa*_*der的帖子

在PHP中使用imap函数而无需重建和重新安装

我想在最新的Macbook上使用最新的PHP版本,但是php安装默认情况下不包含imap函数.我需要一个特定的功能 - 即"imap_rfc822_parse_headers"功能,但我不想重新编译,构建和安装PHP(更不用说为事先安装c-client和imap.so所需的工作量) .我担心复杂的程序(我发现每个程序有些不同)可能会搞砸我当前的安装,这绝不容易设置.

有没有其他更简单的方法将imap安装到PHP中?在一个相关的说明中,是否有一个基于类的替代我需要的功能?

php installation imap

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

将jQuery重写为普通的旧JavaScript - 性能增益值得吗?

由于jQuery是一个非常简单和平庸的库,我用它很快就开发了一个相当复杂的项目.整个界面基于jQuery,并定期清理内存以保持最佳性能.一切都在Firefox中运行良好,在Chrome中也是如此(其他浏览器对我来说并不重要,因为这不是商业或公共产品).

我现在想知道的是 - 因为纯粹的平原旧平庸的JavaScript实际上并不是一个复杂的语言,如果用简单的旧JavaScript重写整个事情就会提升性能,如果是这样,你会期望多少提升从中获得?

如果答案证明足够积极,我会继续做下去,运行基准测试并报告准确的结果.

编辑:谢谢大家,有价值的见解.目的不是"重新发明轮子" - 它只是为了经验和个人改进.仅仅因为某些东西存在,并不意味着你不应该更详细地探索它,知道它是如何工作的或尝试重新创建它.这与我很少使用框架的原因相同,我宁愿使用我自己的代码并解决它并获得大量的经验,而不是开始使用别人的代码,无论它是如何解决的.无论如何,我不会这样做,谢谢你省力:)

javascript ajax performance jquery

4
推荐指数
1
解决办法
856
查看次数

jQuery沿z轴发送mouseevents

是否可以沿z轴发送mousevent?例如,元素已绝对定位在另一个元素上方的站点上.我希望下面的元素获得mouseover事件,即使另一个阻止它,即使它们完全不相关(没有父/子/兄弟关系继续).

这可能发生在我正在构建的网站上的大量元素上,我想要一个解决问题的常用方法,而不必为每一个有可能发生这种情况的元素提供额外的JS功能.

jquery jquery-ui z-index mouseover mouseevent

4
推荐指数
1
解决办法
499
查看次数

在PHP中获取扩展类的当前工作目录

我有一个抽象类"Class".Subclass类扩展了Class.Class抽象类具有以下调用:

is_readable('some_file.ext')
Run Code Online (Sandbox Code Playgroud)

如何强制抽象类的子节点在它们所在的文件夹中查找文件,而不是父抽象类的文件夹,而不覆盖子节点中的方法?

即如果摘要是在

类/摘要/ Class.php

而且孩子在

班/儿童/ Subclass.php,

如何让Subclass.php在classes/children /而不是classes/abstracts中查找some_file.ext,而不在子类中明确定义它?

php inheritance

4
推荐指数
1
解决办法
2682
查看次数

F3(Fat-Free PHP框架)并添加MVC/OOP结构

这个问题与F3(Php Fat Free框架)有关,我偶然发现了一个适合小型网站和/或博客的简单,快速和安全的框架.对我来说重要的是框架具有某种ACL和简单性.如果你知道任何好的选择,我都是耳朵.与此同时,对于那些有过经验的人来说,有关F3的问题:

是否有可能在F3上拥有一个像样的OOP MVC结构?由于路由 F3::route('GET /',':indexController|home');不起作用,如何实现适当的MVC结构?我知道我可以将home方法设置为static然后执行F3::route('GET /','indexController::home');,但这似乎是不必要的复杂和过度杀伤,并忽略了构造方法,我需要分别为每个控制器设置布局.我想在index.php文件中使用的只是到各种控制器和操作的路由,其余的逻辑将在这些控制器中处理.解决这个问题的最佳方法是什么?

非常感谢

编辑:我也想听听Yii的一些看法,我发现它在PHPFrameworks.com上排名很高

php model-view-controller acl frameworks fat-free-framework

3
推荐指数
1
解决办法
6314
查看次数

在Mac上安装本机PHP/Mysql,激活PDO驱动程序

我在MacOSX Lion上进行了自定义安装,包括以下内容:

  1. 原生PHP升级到5.4,就像一个魅力.
  2. 安装了MySQL,从/usr/local/mysql-5.5.25-osx10.6-x86_64/bin/mysql正在运行,就像一个魅力,工作台连接,并可以做欢声笑语.
  3. 在/ etc /中编辑php.ini以激活以下内容:

    extension=php_mysqli.so
    extension=php_pdo_pgsql.so
    extension=php_pdo_mysql.so
    
    Run Code Online (Sandbox Code Playgroud)
  4. phpinfo()说如下:

    PDO

    PDO支持启用PDO驱动程序mysql,pgsql,sqlite

    PDO_MYSQL

    PDO驱动程序启用的MySQL客户端API版本mysqlnd 5.0.10 - 20111026 - $编号:b0b3b15c693b7f6aeb3aa66b646fee339f175e39 $

    指令本地值主值pdo_mysql.default_socket /var/mysql/mysql.sock /var/mysql/mysql.sock

这意味着它有效,是吗?

但有两个问题:

  • 没有/var/mysql/mysql.sock这样的文件,它位于/tmp/mysql.sock中.但我使用PDO选项配置和构建php: - with-mysql = mysqlnd --with-mysqli = mysqlnd --without-pear --with-pdo-mysql = mysqlnd --with-mysql-sock =/var /mysql/mysql.sock.如果我将ini设置更改为/tmp/mysql.sock没有效果,它会反映在php.ini中,但错误保持完全相同.

  • 当我尝试在PHP中实例化PDO类时,会发生这种情况:未捕获的异常'PDOException',消息'找不到驱动程序'

当我尝试以旧式的mysqli方式从PHP访问MySQL时,我得到了这个:

无法连接到MySQL:(2002)没有这样的文件或目录警告:main():无法获取mysqli ...

还有什么可以让我的PHP和我的MySQL玩得很好?

php mysql mysqli pdo

3
推荐指数
1
解决办法
1万
查看次数

即使在Allow From All和Chmod 777之后,解决了403权限也拒绝了Apache的错误?

我的DocumentRoot在〜/ Dropbox /网站中.它在vhosts和httpd.conf中设置为Allow From All和AllowOverride All,我甚至在递归上对整个DocumentRoot赋予了777权限(它只是一个本地开发环境,我从来没有现场直播,不要别担心.这就像Ubuntu和Windows上的魅力一样,但在OSX上,它一直告诉我Permission Denied.我还能尝试什么?有没有办法看到为什么权限被拒绝?如果我至少得到一个提示,如"_www不允许访问此文件夹"或".htaccess不允许进入此文件夹",那将是很好的,但这个通用消息没有任何帮助.

我也尝试将目录的所有者更改为_www:_www,这是Apache在OSX上运行的,无济于事,没有任何改变.

错误日志条目:

[Fri Feb 01 12:31:42 2013] [error] [client 127.0.0.1] (13)Permission denied: access to / denied
Run Code Online (Sandbox Code Playgroud)

访问日志条目:

127.0.0.1 - - [01/Feb/2013:12:31:42 +0100] "GET / HTTP/1.1" 403 202 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
127.0.0.1 - - [01/Feb/2013:12:31:42 +0100] "GET /favicon.ico HTTP/1.1" 403 213 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
Run Code Online (Sandbox Code Playgroud)

更多信息:虚拟主机工作.访问错误记录在他们正确的位置,在vhost文件夹本身内的/ logs下,我只是无法通过403错误.我认为这意味着它是某种.htaccess问题,因为apache显然成功写入文件夹,不是吗?

php apache permissions macos http-status-code-403

3
推荐指数
1
解决办法
1万
查看次数

使用PHP和RegEx从站点的源代码中获取所有选项值

我正在学习RegEx和网站抓取,并提出以下问题,如果得到解答,应该大大加快我的学习过程.

我以htmlencoded格式从网站上获取了表单元素.也就是说,我有$ content字符串,所有标签都完好无损,如下所示:

$content = "<form name="sth" action="">
<select name="city">
<option value="one">One town</option>
<option value="two">Another town</option>
<option value="three">Yet Another town</option>
...
</select>
</form>
Run Code Online (Sandbox Code Playgroud)

我想以这种方式获取网站上的所有选项:

array("One Town" => "one", "Another Town" => "two", "Yet Another Town" => "three" ...);
Run Code Online (Sandbox Code Playgroud)

现在,我知道这可以很容易地通过操纵字符串,切片切割它,搜索每个字符串中的子串,等等,直到我拥有我需要的一切.但我确信必须有一种更简单的方法来使用正则表达式,它应该立即从给定的字符串中获取所有结果.任何人都可以帮我找到一个快捷方式吗?我搜索过网络上最好的正则表达式网站,但无济于事.

非常感谢

php regex mysql web-crawler

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

正则表达式和JavaScript:查找字符串最后部分的数字

我需要从字符串中提取ID号.结果以下列格式给我:"有某种标题的东西(ID:300)""1,3,4 - 以数字开头的东西(ID:400)"等等.

这些值被传递到javascript中,然后需要仅提取ID号,即在上面的示例中为300或400.

我仍在努力与正则表达式,所以任何帮助都非常感谢.我可以通过字符串操作轻松完成此操作,但我真的很想在RegEx上尝试一些我可以使用的实际示例.到目前为止,我读过的在线教程已证明毫无结果.

谢谢

javascript regex

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

PHP正则表达式,替换所有垃圾符号

对于这样做,我无法理解一个可靠的RegEx,在这个RegEx魔术中仍然是非常新的.我取得了一些有限的成功,但我觉得有一种更简单,更有效的方式.

我想净化一串所有非字母数字字符,并将所有这些无效子集转换为单个下划线,但在边缘处修剪它们.例如,字符串<<+?This?//String_..!应转换为This_String

有关在一个RegEx中完成此操作的任何想法吗?我用普通的str_replace做了它,然后将多次下划线重新排列,然后从边缘修剪掉最后一个下划线,但它看起来有点矫枉过正,就像RegEx一次可以做的那样.这里有最大的速度/效率,即使它是我正在处理的毫秒.

php regex string

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

通过Ajax调用PHP变量生命周期

变量通常会被破坏,并且一旦垃圾收集器认为必要,就会释放它们占用的内存.基本上,在当前执行的脚本完成后不久,是吗?

现在,我对Ajax检索变量的生命周期感兴趣.

由于变量通常在它们运行的​​脚本完成之后被清除,也就是说,在页面重新加载时,Ajax是否也属于这个类别?如果我有一个从PHP接收胖JSON数组的脚本,并且在我使用它之后只清除了带有"arrayVar = null"的JS变量,那就够了吗?或者我应该取消设置创建返回数组的PHP变量吗?例如:

// PHP CODE
<?
public function some_kind_of_ajax_called_action() {

    $someClass = new MyClass();
    $someArray = $someClass->getRequestedData();
    $arrayForReturning = array();

    foreach ($someArray as $element) {
        ($currentUser == "admin")?($arrayForReturning[] = $element):null;
    }

    die(json_encode($arrayForReturning));
}
?>
Run Code Online (Sandbox Code Playgroud)

包括......会更好吗?

unset($someClass);
unset($someArray);
Run Code Online (Sandbox Code Playgroud)

...在die()调用之前?这会节省记忆吗,不管多少?

干杯

php ajax scope memory-management lifetime

0
推荐指数
1
解决办法
394
查看次数

为什么不能直接使用Phalcon中的APC后端缓存 - 为什么需要$ frontCache?

文档提供了以下APC缓存方法:

//Cache data for 2 days
$frontCache = new Phalcon\Cache\Frontend\Data(array(
    'lifetime' => 172800
));

  $cache = new Phalcon\Cache\Backend\Apc($frontCache, array(
      'prefix' => 'app-data'
  ));

//Cache arbitrary data
$cache->save('my-data', array(1, 2, 3, 4, 5));

//Get data
$data = $cache->get('my-data');
Run Code Online (Sandbox Code Playgroud)

与简单的简单方法相比,这似乎过于复杂

apc_store('my-data', array(1, 2, 3, 4, 5), 172800);
apc_fetch('my-data');
Run Code Online (Sandbox Code Playgroud)

请澄清frontCache和"前缀"键.文档在缓存区域中有一点需要.

php frameworks phalcon

0
推荐指数
1
解决办法
1469
查看次数