小编Abd*_*lam的帖子

允许PHP应用程序插件的最佳方法

我正在用PHP开始一个新的Web应用程序,这次我想创建一些人们可以使用插件接口扩展的东西.

如何将"钩子"写入代码中以便插件可以附加到特定事件?

php architecture hook plugins

268
推荐指数
8
解决办法
4万
查看次数

如何使用Microsoft SQL Server实现LIMIT?

我有这个查询与mysql:

select * from table1 LIMIT 10,20
Run Code Online (Sandbox Code Playgroud)

我怎么能用Microsoft sql做到这一点?

sql sql-server migration

120
推荐指数
9
解决办法
27万
查看次数

禁用角度材料对话框区域外的单击以关闭对话框(使用Angular Version 4.0+)

我目前正在研究Angular 4项目的密码重置页面.我们使用Angular Material来创建对话框,但是,当客户端单击对话框时,它将自动关闭.有没有办法避免对话关闭,直到我们的代码端调用"关闭"功能?或者我应该如何创建一个不可关闭的模态?

dialog modal-dialog angular-material angular

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

CodeIgniter会自动阻止SQL注入吗?

我刚刚继承了一个项目,因为最后一个开发人员离开了 该项目由Code Igniter构建.我之前从未使用Code Igniter.

我快速浏览一下代码,然后在控制器中看到数据库调用,如下所示:

$dbResult = $this->db->query("SELECT * FROM users WHERE username = '".$_POST['user_name']."'");
Run Code Online (Sandbox Code Playgroud)

或者这样的电话:

$dbResult = $this->db->query("SELECT * FROM users WHERE username = '".$this->input->post('username')."'");
Run Code Online (Sandbox Code Playgroud)

代码点火器是否会自动清理这些查询以防止sql注入?

sql-injection codeigniter

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

PhpMailer与SwiftMailer?

我正在构建一个相当简单的PHP脚本,需要发送一些附件的电子邮件.我找到了这两个库来做到这一点.两者都有明显优势吗?或者我应该随机选择一个并完成它?

php email attachment phpmailer swiftmailer

58
推荐指数
6
解决办法
4万
查看次数

使用PHP访问Exchange的最佳方法?

我正在用PHP编写CMS应用程序,其中一个要求是它必须能够与客户的Exchange服务器连接.我之前已经写了几次这个功能,并且一直使用WebDAV来做这件事,但现在我不再那么做了.

我将在Windows服务器2008上运行IIS或Apache(无首选项)上的站点.我需要做的一些事情包括向给定用户的地址簿添加联系人,以给定用户身份发送电子邮件以及运行联系人的报告用户.

所有这些对于WebDAV来说都很容易,但如果有更好的方法不需要任何可能很快就被弃用的功能.

有任何想法吗?

更新:

Justin,我喜欢使用com对象的想法,我只是担心维护第三个产品以使一切工作......

John,我可以用C#编写一个Web服务来连接这些函数并使用我的PHP应用程序访问它,但它也有点偏僻.

到目前为止,我并不是100%确信其中任何一个都比WebDAV更好......

任何人都可以告诉我我在哪里傻吗?

php windows mapi exchange-server webdav

52
推荐指数
9
解决办法
5万
查看次数

Codeigniter交易

我正在使用Codeigniter交易

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->trans_complete();
Run Code Online (Sandbox Code Playgroud)

这工作得很好,我有问题是内部的trans_starttrans_complete我打电话等功能,这些功能与数据库交易,使他们包含插入和更新以及一些删除...例如:

$this->db->trans_start();
 $this->utils->insert_function($data);
 $this->utils->update_function2($test);
$this->db->trans_complete();
Run Code Online (Sandbox Code Playgroud)

现在,如果执行这些函数并且发生一些错误,CodeIgniter将不会执行回滚.

处理此类问题的最佳方法是什么?

我想到的唯一解决方案是从这些函数返回错误并在那些函数内添加(trans_stattrans_complete)如果它返回错误测试则执行$this->db->trans_rollback

例如:

    $this->db->trans_start();
     $result = $this->utils->insert_function($data);
     if($result === false){
       $this->db->trans_rollback();
     }
    $this->db->trans_complete();
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

更新1:

根据要求我正在调用的外部函数示例:

   // insert_function contains

    $rec = array(
        'numero' => $numero,
        'transaction_id' => $id,
        'debit' => $product_taxes['amount_without_taxes'],
        'date' => $data['date_transaction'],
    );
    $this->addExerciceAccountingRecords($rec);

  and addExerciceAccountingRecords contains

   function addExerciceAccountingRecords($records) {
    $this->db->insert('transactions_exercices', $records);
    }
Run Code Online (Sandbox Code Playgroud)

php mysql transactions codeigniter codeigniter-3

33
推荐指数
2
解决办法
4万
查看次数

如何在我的电脑上运行php文件

谁能告诉我如何在我的系统上本地运行一个PHP文件.
目前我正在使用服务器来运行文件.
我知道要安装php和Apache.
我需要看看这个程序,例如:

<?php 
$a=5;
$b=10;
$c=$a+$b;
print $c;
?>
Run Code Online (Sandbox Code Playgroud)

如果我还需要更多信息,请告诉我如何运行这些文件.

php apache

30
推荐指数
5
解决办法
18万
查看次数

如何使用集合的组合作为测试数据

我想测试一个带有一组边缘情况和正常值的元组的函数.例如,在测试一个函数,该函数true在给定三个形成有效三角形的长度时返回,我将具有特定情况,负数/小数/大数,接近溢出的值等等; 更重要的是,主要目的是生成这些值的组合,没有重复,以获得一组测试数据.

(inf,0,-1), (5,10,1000), (10,5,5), (0,-1,5), (1000,inf,inf),
...
Run Code Online (Sandbox Code Playgroud)

作为一个注释:我实际上知道答案,但它可能对其他人有帮助,对这里的人们来说是一个挑战! - 稍后会发布我的回答.

language-agnostic testing unit-testing

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

MySQL DB中列名称中的连字符

可能这个问题已经得到了回答,但我找不到了.

我使用的是2/3岁的MySQL数据库,其列名称中包含连字符.当我尝试使用我的Java代码中的这些名称时,名称会在连字符处断开(例如air_port变为空气),因此找不到.我尝试在我的代码中将连字符替换为下划线,希望数据库可以平等对待它们,但这不起作用.

如何逃脱连字符或如何访问这些列?这可能是正在使用的字符集的问题吗?

mysql database hyphen

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