我有一些代码用动态类(即从变量)创建广告实例:
$instance = new $myClass();
Run Code Online (Sandbox Code Playgroud)
由于构造函数根据$myClass
值具有不同的参数计数,因此如何将参数的变量列表传递给新语句?可能吗?
我有一个页面,其样式在Chrome中搞砸了(Safari和其他人没问题).它似乎在页面的顶部,并在其他地方毁了我的布局HTML插入是有原因的一些奇怪的空白.如果我选择查看我的PHP页面的来源,我看到的是:
<body><div id="header-outer">
<div id="header" class="container">
<div class="row">
<div id="site-logo" class="span5">
<img src='logo.png' />
</div> ... etc ...
Run Code Online (Sandbox Code Playgroud)
(我修改了PHP,在BODY和DIV之间没有任何空间).但是,当我打开开发人员工具时,我看到的是:
<body>
"" <- why?
<div id="header-outer> etc. etc..
Run Code Online (Sandbox Code Playgroud)
如果我手动删除"",布局就可以了.这里发生了什么?我很困惑.
编辑:你可以在http://bit.ly/ZkZxVG 编辑页面看到:我试图禁用所有扩展,但对我的问题没有影响.
提示:我正在使用bootstrap和JQuery.他们可以搞乱代码吗?
假设我有一个指令:
<component>
<img ng-src='{{something}}' />
</component>
Run Code Online (Sandbox Code Playgroud)
定义为:
app.directive("component", function() {
return {
scope: {},
restrict: 'E',
transclude: true,
template: "<a href='' ng-click='MyService.doThings()' ng-transclude></a>"
}
});
Run Code Online (Sandbox Code Playgroud)
尽管我付出了很多努力,但我还是不明白如何完成两项任务:
MyService
?(想想一个灯箱包装)更新解决方案:
app.directive("component", function(LightboxService) {
return {
restrict: 'E',
transclude: true,
replace: true,
template: "<a href='' ng-click='lb()' ng-transclude></a>",
link: function (scope, element, attrs) {
scope.lb = function () {
var src = $(element).find("img").attr("src");
LightboxService.show(src);
}
}
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个网页.在它的右上角我有一些社交图标.它在Chrome(本地和网络服务器)中显示正常,它在本地FF中显示正常,但在在线页面上,我看到里面有Unicode代码的方形占位符.
奇怪的是,如果我打开Firebug和纠正通过飞fontello.css 源编辑,图标显示神奇,还是如此看来,这甚至是琐碎的校正,如添加和删除,然后一个空格.
这真让我感到困惑.有什么建议?
更新:几年后我遇到了这个问题:现在我知道这是一个非常糟糕的方法。请不要使用这个。您始终可以为 i18n 使用其他表(例如products
和products_lang
),为每个区域设置单独的条目:更适合索引,更适合搜索等。
我正在尝试在 MySQL/PHP 站点中实现 i18n。
我读过一些回答说“i18n 通常不是数据库的一部分”,我认为这是一种有点狭隘的方法。产品名称,或者,就像我的例子一样,存储在数据库中的菜单结构和内容怎么样?
我想知道您如何看待我的方法,考虑到语言应该是可扩展的,所以我试图避免“每种语言解决方案一栏”。
一种解决方案是对要翻译的字符串使用引用 (id),并且对于每个可翻译列都有一个包含主键、字符串 id、语言 id 和翻译的表。
我认为的另一个解决方案是使用 JSON。因此,我的数据库中的菜单条目如下所示:
idmenu label
------ -------------------------------------------
5 {"en":"Homepage", "it":"pagina principale"}
Run Code Online (Sandbox Code Playgroud)
您如何看待这种方法?
编辑:我考虑过一个可能的解决方案,但我提出了另一个问题,因为它非常具体:用PHP查看AJAX代理,是否可能?
我创建了具有一定程度模块化的网站.因此,有可能存在"组件"(想到粗略的CMS),它们都带有自己的PHP代码,CSS和JavaScript,都是动态包含的.考虑一下这样的结构:
{siteroot}/component/datagrid/datagrid.php
{siteroot}/component/datagrid/js/datagrid.js
{siteroot}/component/datagrid/css/datagrid.css
{siteroot}/component/datagrid/ajax/getsomedata.php
Run Code Online (Sandbox Code Playgroud)
现在,问题是:对于JavaScript文件,特别是AJAX调用,如何使用URL进行上下文感知?
例如,如果datagrid.js
我想siteroot/component/datagrid/ajax/getsomedata.php
用AJAX 调用我应该写(使用JQuery):
$("#ajax").load("siteroot/component/datagrid/ajax/getsomedata.php");
Run Code Online (Sandbox Code Playgroud)
siteroot
不同安装的变化.我通过包括将军来管理那个
var codeBase = <? echo json_encode(Config::$siteRoot); ?>
Run Code Online (Sandbox Code Playgroud)
在每个页面上使用PHP,从每个安装都可以轻松编辑的Config文件,所以我可以使用任何类似的JavaScript:
$("#ajax").load(codeBase + "/component/Datagrid/ajax/getsomedata.php");
Run Code Online (Sandbox Code Playgroud)
您如何看待这种方法?
.js.php
动态Javascript.这非常不优雅,我必须在JavaScript文件中包含所有框架,例如:
<?php
include "../../libs/framework.php"; // get my functions...
$myUrl = Config::$siteRoot . Framework::getComponentAjaxDir("datagrid") . "/getsomedata.php";
?>
$("#ajax").load(<?=json_encode($myUrl)?>);
Run Code Online (Sandbox Code Playgroud)
另一个副作用是,我必须知道确切的include
的路径framework.php
......我不想这样这么辛苦,我codedin".js.php"文件.有关这方面的任何智能解
我知道有一个几乎重复的问题,但答案根本不令人满意.
我需要使用在HTTP上运行的Openstreetmap服务进行地理编码.
我的网站通过HTTPS运行.
似乎不可能从https到http进行JSONP请求,浏览器(Chrome)抱怨不安全的内容.
有解决方案吗
我想检查一下git存储库的总大小.有趣的是,当发送-h标志时,du给了我两个不同大小的国王.它实际上是双倍大小.
为什么是这样?什么是正确的尺寸?
MyMac:~/repositories/my-repo.git davidrod$ du -h
0B ./branches
64K ./hooks
4.0K ./info
0B ./objects/info
3.3M ./objects/pack
3.3M ./objects
4.0K ./refs/heads
8.0K ./refs/tags
12K ./refs
3.3M .
MyMac:~/repositories/my-repo.git davidrod$ du
0 ./branches
128 ./hooks
8 ./info
0 ./objects/info
6672 ./objects/pack
6672 ./objects
8 ./refs/heads
16 ./refs/tags
24 ./refs
6856 .
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过查看我认识的人与骨干文档一起制作的应用程序来学习Backbone.该应用程序有一个Bucket模型和一个公司模型(即你把公司放在桶中).这一点有一点我不清楚,即它如何使用该trigger
方法.
Backbone文档有这样的说法trigger
:
object.trigger(event, [*args])
触发给定事件或空格分隔的事件列表的回调.触发器的后续参数将传递给事件回调.
在我看的代码中,trigger
被称为:
this.trigger("add:companies", Companies.get(companyId));
Run Code Online (Sandbox Code Playgroud)
两个问题:
在event
我认为是add
荷兰国际集团一公司,但在代码中的什么点以下不会实际发生的呢?是this.set({ "companies": arr }, { silent: true });
运行时this.save();
还是运行时(或其他)?
如果Companies.get(companyId)
是可选参数,它实际传递给哪个函数?
摘自原始代码
window.Bucket = Backbone.Model.extend({
defaults: function() {
return {
companies: []
};
},
addCompany: function(companyId) {
var arr = this.get("companies");
arr.push(companyId);
this.set({ "companies": arr }, { silent: true });
this.save();
this.trigger("add:companies", Companies.get(companyId));
},
// ...
Run Code Online (Sandbox Code Playgroud) 我们假设我有这个MySQL表:
id place_id area_mq n
-- -------- ------- --
1 1 50 1
2 2 90 1
3 2 20 1
4 3 10 1
5 3 10 2
6 3 10 3
7 4 20 1
8 4 20 2
9 5 15 1
10 5 25 1
Run Code Online (Sandbox Code Playgroud)
id
是主键,place_id
代表区域id,area_mq
是mq中的表面区域.
我要做的是找到一个紧凑的查询来计算area_mq
这些规则的总和:
n
是相等的相同place_id
,然后每计数area_mq
(f.ex为place_id
= 2,I计数90 和 20之和)n
是不同的相同place_id
,再算上area_mq …
php ×3
css ×2
javascript ×2
mysql ×2
ajax ×1
angularjs ×1
backbone.js ×1
callback ×1
cross-domain ×1
css3 ×1
du ×1
events ×1
firefox ×1
fontello ×1
html ×1
html5 ×1
jquery ×1
json ×1
jsonp ×1
localization ×1
oop ×1
shell ×1
unix ×1
web-services ×1
webfonts ×1