小编Bad*_*sie的帖子

PHP检查对象或类中是否存在属性

我理解PHP没有纯对象变量,但我想检查一个属性是否在给定的对象或类中.

$ob = (object) array('a' => 1, 'b' => 12); 
Run Code Online (Sandbox Code Playgroud)

要么

$ob = new stdClass;
$ob->a = 1;
$ob->b = 2;
Run Code Online (Sandbox Code Playgroud)

JS中,我可以编写它来检查a对象中是否存在变量:

if ('a' in ob)
Run Code Online (Sandbox Code Playgroud)

PHP中,可以做这样的事吗?

非常感谢您的建议.

php variables parameters class object

128
推荐指数
4
解决办法
13万
查看次数

将JSON存储在HTML属性中的最佳方法?

我需要将一个JSON对象放入HTML元素的属性中.

  1. HTML不必验证.

    Quentin回答:将JSON存储在data-*属性中,该属性是有效的HTML5.

  2. JSON对象可以是任何大小 - 即巨大的

    由Maiku Mori回答:HTML属性的限制可能是65536个字符.

  3. 如果JSON包含特殊字符怎么办?例如 {foo: '<"bar/>'}

    Quentin回答:根据通常的惯例,在将JSON字符串放入属性之前对其进行编码.对于PHP,请使用该功能. htmlentities()


编辑 - 使用PHP和jQuery的示例解决方案

将JSON写入HTML属性:

<?php
    $data = array(
        '1' => 'test',
        'foo' => '<"bar/>'
    );
    $json = json_encode($data);
?>

<a href="#" data-json="<?php echo htmlentities($json, ENT_QUOTES, 'UTF-8'); ?>">CLICK ME</a>
Run Code Online (Sandbox Code Playgroud)

使用jQuery检索JSON:

$('a').click(function() {

    // Read the contents of the attribute (returns a string)
    var data = $(this).data('json');

    // Parse the string back into a proper JSON object
    var …
Run Code Online (Sandbox Code Playgroud)

html javascript php json

105
推荐指数
6
解决办法
9万
查看次数

为什么base64_encode()在结果中添加斜杠"/"?

我正在编码我的应用程序的URL后缀:

$url = 'subjects?_d=1';
echo base64_encode($url);

// Outputs
c3ViamVjdHM/X2Q9MQ==
Run Code Online (Sandbox Code Playgroud)

注意'X2'之前的斜杠.

为什么会这样?我认为base64只输出AZ,0-9和'='作为填充?我已经尝试使用在线base64编码器来检查,似乎base64总是这样做.我不知道它是下划线"_"还是问号"?" 还是"="或许?

php base64 encoding

39
推荐指数
6
解决办法
5万
查看次数

密码保护特定的URL

该网站位于共享主机上.我需要密码保护单个URL.

http://www.example.com/pretty/url
Run Code Online (Sandbox Code Playgroud)

显然,这不是我想要保护的物理文件路径,它只是特定的URL.

有.htaccess的快速解决方案吗?

.htaccess password-protection

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

Twitter Bootstrap/jQuery - 如何暂时阻止模态被关闭?

我正在使用Twitter Bootstrap模式,使用默认选项,您可以单击背景或按[Esc]关闭模式.

但是,当我在模态中启动ajax操作时,我想禁用模式以任何方式关闭.所以我禁用按钮并隐藏模态的关闭按钮,但我无法弄清楚如何禁用背景和[Esc]键.

我试过了:

$('#myModal').modal({
    backdrop: 'static',
    keyboard: false
});
Run Code Online (Sandbox Code Playgroud)

但这似乎并没有在飞行中起作用.

一旦ajax操作完成,我还需要重新启用背景和键盘.

javascript jquery modal-dialog twitter-bootstrap twitter-bootstrap-2

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

CakePHP 2.0 - 如何制作自定义错误页面?

我读到AppError类现在是为了向后兼容,应该使用Exceptions.如何为404错误或完全自定义错误等内容创建自定义错误页面?

php cakephp http-status-code-404 cakephp-2.0

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

DataTables - 我不想在某些表上使用搜索/过滤器和长度选项

如何在没有搜索过滤器和长度选择菜单的情况下初始化特定表格?

显然它可以使用sDom选项完成,但文档非常糟糕,我无法准确理解我应该做什么.

http://datatables.net/usage/options#sDom

jquery-datatables

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

在CakePHP 2.0中加载模型的最佳方法

我不确定现在在CakePHP 2.0中加载模型的最佳方法.


问题1

我有一个模型,其中多个数据库字段与另一个模型相关.

customerstable包含字段country_origin,country_residence并且country_study所有这些字段都包含表中的ID countries.

所以在我的客户模型中,我应该如何加载Country模型?


问题2

Controller::loadModel()被弃用或使用此不好做法?我怎么能在控制器中加载模型?


问题3

何时或为什么必须App::uses()在控制器或模型中使用?我不明白的点时,如果使用普通的方法,如车型将反正加载loadModel(),hasOne,hasMany,belongsTo,等.

cakephp-2.0

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

CakePHP - 如果是INSERT或UPDATE,如何检查beforeSave

在我的模型beforeSave方法中,如何检查保存操作是INSERT还是UPDATE?

我想添加到模型数据,但只有在插入新行时才会添加.

cakephp cakephp-2.0

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

MySQL - 具有部分单词匹配和相关性得分的高效搜索(FULLTEXT)

如何进行MySQL搜索,以匹配部分单词,同时提供准确的相关性排序?

SELECT name, MATCH(name) AGAINST ('math*' IN BOOLEAN MODE) AS relevance
FROM subjects
WHERE MATCH(name) AGAINST ('math*' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)

布尔模式的问题是相关性总是返回1,因此结果的排序不是很好.例如,如果我对搜索结果设置了5的限制,那么返回的搜索结果似乎并不是最相关的.

如果我在自然语言模式下搜索,我的理解是相关性得分是有用的,但我无法匹配部分单词.

有没有办法执行满足所有这些条件的查询:

  • 可以匹配部分单词
  • 返回的结果具有准确的相关性
  • 效率很高

我到目前为止最好的是:

SELECT name
FROM subjects
WHERE name LIKE 'mat%'
UNION ALL
SELECT name
FROM subjects
WHERE name LIKE '%mat%' AND name NOT LIKE 'mat%'
Run Code Online (Sandbox Code Playgroud)

但我宁愿不使用LIKE.

mysql search full-text-search

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