我想试试gettext.
以下是我认为它的工作原理 -
首先你使用某种po编辑器并告诉它扫描你的应用程序的目录,创建这些".po"文件,应用程序为扫描的每个文件生成一个po文件,其中包含编程语言中的字符串,然后将它们编译为二进制mo文件,gettext解析,并使用高级API调用方法,Zend_Translate并指定要使用gettext,可以设置为缓存转换,它只返回那些.
我真的不清楚的部分是如何真正完成po文件的编辑,这是手册 - 对吗?然后当编译完成时,应用程序依赖于二进制mo文件.
如果有人能提供有用的linux应用程序来编辑.po文件,我将不胜感激.
免责声明:是的,我被迫支持PHP 4.3.0.我知道它已经死了.不,我不能升级它,因为我正在处理多个服务器,其中一些我没有su访问权限.
好吧,因为我不能使用,self::因为它是PHP5特定的,我应该如何在PHP4类中实现静态?到目前为止,我的研究似乎我至少可以使用static关键字除了只在函数上下文中,我已经看到另一种方法使用$ _GLOBALS,但我不认为我将使用它.
就这样我们在同一页面上我需要访问4中的这些PHP5静态:
public static $_monthTable = array(
31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
public static $_yearTable = array(
1970 => 0, 1960 => -315619200);
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经提出了我自己的函数,基本上设置一个静态变量,如果找不到,我将所有静态属性硬编码到其中.但是,我不完全确定如何在同一类中的anther方法中引用这些静态,假设它没有被实例化并且没有触发构造函数,这意味着我无法使用$this.
class DateClass {
function statics( $name = null ) {
static $statics = array();
if ( count( $statics ) == 0 ) {
$statics['months'] = array(
'Jan', 'Feb'
);
}
if ( $name != null && array_key_exists($name, $statics ) ) …Run Code Online (Sandbox Code Playgroud) 我正处于数据库设计的早期阶段,所以还没有最终结果,我正在使用"TOXI"3表设计作为我的线程,它有可选标签,但我不禁觉得加入是不是真的有必要,也许我需要依靠我的posts表中的一个简单的标签列,我可以在其中存储类似的varchar <tag>, <secondTag>.
所以回顾一下:
posts表中只有一个标签列.CREATE TABLE `posts` (
`post_id` INT UNSIGNED PRIMARY AUTO_INCREMENT,
`post_name` VARCHAR(255)
) Engine=InnoDB;
CREATE TABLE `post_tags` (
`tag_id` INT UNSIGNED PRIMARY AUTO_INCREMENT,
`tag_name` VARCHAR(255)
) Engine=InnoDB;
CREATE TABLE `post_tags_map` (
`map_id` INT PRIMARY AUTO_INCREMENT,
`post_id` INT NOT NULL,
`tags_id` INT NOT NULL,
FOREIGN KEY `post_id` REFERENCES `posts` (`post_id`),
FOREIGN KEY `post_id` REFERENCES `post_tags` (`tag_id`)
) Engine=InnoDB;
Run Code Online (Sandbox Code Playgroud)
INSERT INTO `posts` (`post_id`, `post_name`)
VALUES
(1, 'test');
INSERT INTO `post_tags` …Run Code Online (Sandbox Code Playgroud) 在第3步,我有一张接受信用卡的表格,第4步重新打印信息,包括信用卡的最后4位数字,第5步我需要知道完整的CC#来处理它并通过我的https发送连接到第三方供应商 - 我应该通过隐藏输入存储它还是$_SESSION因此我可以在第3步和第5步之间访问它?
仅供参考:我的整个网站已经过https'd.
我真的很喜欢与Django和Python一起工作,当我回到PHP时,我感到受限制了。。。我尝试了Zend / Kohana / CodeIgniter / CakePHP,但没有一个真的那么好...
有谁知道受Django影响很大的php框架?或至少是模板系统?
我注意到jQuery parseJSON基本上做了一个简单的正则表达式"检查":
parseJSON: function( data ) {
if ( typeof data !== "string" || !data ) {
return null;
}
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim( data );
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {
// Try to use the native JSON parser first
return window.JSON && window.JSON.parse ?
window.JSON.parse( data ) :
(new Function("return …Run Code Online (Sandbox Code Playgroud) 我想存储高度,最终将显示在Imperial/US(例如6英尺4)的数据库中,该数据库当前是MySQL(我计划迁移到PostgreSQL).
我想知道哪种单元对这种类型的存储有好处,我应该使用哪种列类型?我在考虑厘米/公制系统和一些数字列类型,但如果有人可以提供洞察力,那就太棒了.
使用WooPress - 8theme WordPress主题运行Wordpress 4.1.5和WooCommerce 2.3.8.在结帐页面上,当我点击"下订单"时,它停止并在控制台中得到:
Uncaught TypeError: Cannot read property 'reload' of null来自checkout.min.js.我用非缩小版替换它,并从这里扣除它:
$.ajax({
type: 'POST',
url: wc_checkout_params.checkout_url,
data: $form.serialize(),
success: function( code ) {
Run Code Online (Sandbox Code Playgroud)
结果code是null.要求的行动是wp-admin/admin-ajax.php?action=woocommerce_checkout.为什么这是空的?
注意:对于支付供应商,我使用AuthorizeNetAIM插件(来自codecanyon)并使用测试模式+ sandbox登录.
更新#1:尝试此修复程序:http://www.tech.theplayhub.com/woocommerce_js_issue_on_checkout/
通过禁用电子邮件通知.没运气.
更新#2:尝试此修复:https: //github.com/woothemes/woocommerce/issues/5332
在这种情况下,用户有一个罪魁祸首FB插件,不得不禁用它.
我安装的唯一插件:
更新#3:将 WooCommerce 2.3.8降级到2.3.0因为我正在使用的主题(8theme/woopress)有woocommerce 2.3.0文件.一样.还尝试将主题更改为裸(TwelveFourteen etc)主题.一样.
我怀疑这可能是AuthorizeNet AIM插件失败/抛出异常,除了代码没有以某种方式提取它.
我正在尝试确定在JSON Twitter提要中给出的表示日期和时间的字符串是否在MySQL的时间戳列范围内.
这是示例字符串:
'Sat, 31 Oct 2009 23:48:37 +0000',
Run Code Online (Sandbox Code Playgroud)
在+0000根据API(created_at)表示它确实UTC.现在,我正在使用strtotime并且date只是为了确认时间.附:
$t = 'Sat, 31 Oct 2009 23:48:37 +0000';
$timestamp = strtotime($t);
echo date('M d Y H:m:s', $timestamp);
Run Code Online (Sandbox Code Playgroud)
我得到Oct 31 2009 19:10:37.如果我删除+0000我得到Oct 31 2009 23:10:37.因此,拥有+0000和不拥有它之间的区别是4小时.我猜是因为我当地的时区(马里兰州,美国= America/New_York),而且显然不同于UTC.
我不确定+0000在尝试确定此时间戳是否在我的数据库中存储的两个时间戳的范围内时是否应该剥离或使用它,这是2009-10-30 23:16:38和2009-11-25 12:00:00.我现在感到愚蠢和有点困惑,当我填写这些时间戳时,YYYY-MM-DD H:M:S来自Javascript日期时间选择器,示例格式是10/31/2009 11:40 am我使用STR_TO_DATE,如下所示:
STR_TO_DATE("10/31/2009 11:40 am", "%m/%d/%Y %l:%i %p")'),
Run Code Online (Sandbox Code Playgroud)
我应该离开+0000还是脱掉它?精神上轻拍
我的主要导航由新闻类别组成,属于类别模型.我硬编码导航templates/base.html但想要让它变得动态......
在我的模板中嵌入模型代码是一个坏主意吗?如果是这样我该如何拉它们?我应该将导航文件分开吗?我不仅仅依赖于类别,而且还需要一个"主页"链接,以及其他一些链接.
如果可能的话,如果我可以创建一个新的导航模型,那将是很好的,但我不知道如何能够从类别表中包含新闻类别,因此它们也可以是导航中的项目.
php ×4
mysql ×3
django ×2
javascript ×2
credit-card ×1
gettext ×1
json ×1
mo ×1
optimization ×1
parsing ×1
php4 ×1
postgresql ×1
security ×1
sql ×1
timestamp ×1
timezone ×1
utc ×1
woocommerce ×1
woothemes ×1
wordpress ×1