是否可以在Git中检出存储库的子目录?
想象一下,我正在设置一个新的WordPress安装.我将为我的插件和主题自定义创建两个新目录:
wordpress/wp-content/plugins/myplugins/
wordpress/wp-content/themes/mytheme/
我想通过Git维护这些目录.在Subversion中,我将通过拥有trunk/myplugins/
和trunk/mytheme/
目录并检查子目录来实现这一目标.Git是否有办法使用单个存储库完成相同的任务?
我可能只是在一些Git范例中错过了这条船,因为很长一段时间的SVN用户很少接触Git.
编辑: 存储不同内容的多个分支是处理此问题的有趣方式.
在为我们的网络应用设计API时,我们将使用其子域作为"用户名"并生成API密钥/共享密钥.首先,可以使用子域作为用户名吗?我没有看到生成另一个密钥的好处.
不同的API似乎做两件事之一:
在每个请求中,用户名都设置为子域和API密钥的密码.由于我们使用SSL,因此这应该是安全的欺骗.
着名的API:Google Checkout,Freshbooks,GitHub,Zendesk
通常通过对键/值对进行排序并使用具有共享密钥的HMAC-SHA1来生成签名来实现.然后,签名随请求一起发送,并在另一端验证.
着名的API:Google Checkout,亚马逊AWS
PS:毫无疑问,Google Checkout支持两者
编辑:只需阅读OAuth 2正在删除签名,转而通过SSL发送用户名/密码.
任何人都有关于选择什么的意见:SSL vs Signature?
更新 :( html5lib
问题的底部)似乎接近,我只需要提高我对它如何使用的理解.
我正在尝试为PHP 5.3找到兼容HTML5的DOM解析器.特别是,我需要在脚本标记中访问以下类似HTML的CDATA:
<script type="text/x-jquery-tmpl" id="foo">
<table><tr><td>${name}</td></tr></table>
</script>
Run Code Online (Sandbox Code Playgroud)
大多数解析器都会过早地解析,因为HTML 4.01 在标记</
内部找到ETAGO()时会结束脚本标记解析<script>
.但是,HTML5 允许</
之前</script>
.到目前为止,我尝试过的所有解析器都失败了,或者它们的文档记录很差,以至于我还没弄清楚它们是否有效.
我的要求:
输入:
<script id="foo"><td>bar</td></script>
Run Code Online (Sandbox Code Playgroud)
输出失败的示例(无关闭</td>
):
<script id="foo"><td>bar</script>
Run Code Online (Sandbox Code Playgroud)
一些解析器及其结果:
资源:
<?php
header('Content-type: text/plain');
$d = new DOMDocument;
$d->loadHTML('<script id="foo"><td>bar</td></script>');
echo $d->saveHTML();
Run Code Online (Sandbox Code Playgroud)
输出:
Warning: DOMDocument::loadHTML(): Unexpected end tag : td in Entity, line: 1 in /home/adam/public_html/2010/10/26/dom.php on line 5
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head><script id="foo"><td>bar</script></head></html> …
Run Code Online (Sandbox Code Playgroud) 我每天使用两个应用程序服务器:一个开发,一个生产.来自不同开发人员的各种应用程序都存在于这些盒子上,以及一些通过cron运行的脚本.目前,我正在使用httpd 的-D
标志,以便我可以在代码中识别我的生产服务器,即.isset($_SERVER['DEV'])
.不幸的是,这对于从命令行运行的脚本不起作用,因为它们不在Apache的保护伞下.
从本质上讲,我想要一种清晰,简单的方法来识别每行代码可用的开发与生产.
我已经排除了:
auto_prepend_file
- 我们已经在某些应用程序中使用此指令,并且您不能有多个自动重新上载.我目前正在探索的内容:
那么,有什么技巧可以识别不涉及将代码注入每个脚本或应用程序的dev/prod?
我之前从未使用过这些函数,但在阅读了很多关于sprintf()之后,我决定知道它.
所以我继续做下面的事情.
function currentDateTime() {
list($micro, $Unixtime) = explode(" ",microtime());
$sec= $micro + date("s", $Unixtime);
$sec = mb_ereg_replace(sprintf('%d', $sec), "", ($micro + date("s", $Unixtime)));
return date("Y-m-d H:i:s", $Unixtime).$sec;
}
sprintf(currentDateTime());
Run Code Online (Sandbox Code Playgroud)
它什么都不打印.另一方面使用printf()函数:
printf(currentDateTime());
Run Code Online (Sandbox Code Playgroud)
它打印结果就好了.那么这两个函数之间的区别是什么?如何正确使用sprintf()函数?
我想问一下,如何在一段时间后一次又一次地使用php函数,就像Javascript中的setInterval一样.我们设置时间,直到脚本中止或关闭为止.
的index.php
<?
$Wall = new Wall_Updates();
$updatesarray=$Wall->Updates();
foreach($updatesarray as $data)
{
$likes=$data['likes'];
?>
<div id="likes"><?php echo $likes; ?></div>
<?
}
?>
Run Code Online (Sandbox Code Playgroud)
而Wall_Updates()函数在FUNCTION.PHP中定义
<?php
class Wall_Updates {
public function Updates() {
$myname=$_COOKIE['usename'];
$query=mysql_query("SELECT * FROM posts WHERE name='$myname'");
while($row=mysql_fetch_array($query))
$data[]=$row;
return $data;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我希望这个Wall_Updates()函数一次又一次地从mysql中获取数据.所以,它将被更新.
我已经实现了一个在每个页面上运行的功能,我希望从未登录的用户进行限制.在他或她未登录的情况下,该功能会自动将访问者重定向到登录页面.
我想创建一个从外部服务器运行的PHP函数,并遍历许多设置URL(具有每个受保护站点的URL的数组),以查看它们是否被重定向.因此,我可以轻松确保每个页面上的保护是否正常运行.
怎么可以这样做?
谢谢.
我目前正在我的主机上测试脚本.此脚本用于接受PayPal IPN数据,执行一些操作(即数据验证),将必要的数据发送到特定的电子邮件地址等.
我在PayPal网站上使用测试工具将测试数据发布到我的脚本中.我的脚本不起作用:应该发出代码,但我看不到错误.PayPal中的测试工具只是做了帖子,似乎不接受任何回复.我想看看我的脚本中发生了什么,以便我可以解决它.如何获取脚本输出的错误消息?
有任何想法吗?
我的PHP代码中有以下数组格式:
foreach ($events as $info) {
$events_array[] = array(
'title' => $info->Name,
'date' => $info->Date
);
}
function cb($a, $b) {
return strtotime($a['date']) - strtotime($b['date']);
}
usort($events_array, 'cb');
Run Code Online (Sandbox Code Playgroud)
编辑:日期值的格式为:YYYY-MM-DD
实际上,当我做print_r时,我明白了
[title] => SimpleXMLElement Object ( ) [date] => SimpleXMLElement Object ( )
Run Code Online (Sandbox Code Playgroud) 这似乎是过去25岁以上显示器的遗物.我正在寻找stackoverflow成员对此的看法,你是否总是尊重这一建议.