我知道我可以轻松地在bash中获取这样的定位参数:
$0 要么 $1
我希望能够使用这样的标志选项来指定使用每个参数的内容:
mysql -u user -h host
Run Code Online (Sandbox Code Playgroud)
通过国旗而不是按位置获得-u param价值和-h param价值的最佳方法是什么?
所以,我正在浏览一些关于创建REST API的文章.其中一些建议使用所有类型的HTTP请求:比如PUT DELETE POST GET.我们将创建例如index.php并以这种方式编写API:
$method = $_SERVER['REQUEST_METHOD'];
$request = split("/", substr(@$_SERVER['PATH_INFO'], 1));
switch ($method) {
case 'PUT':
....some put action....
break;
case 'POST':
....some post action....
break;
case 'GET':
....some get action....
break;
case 'DELETE':
....some delete action....
break;
}
Run Code Online (Sandbox Code Playgroud)
好的,授予 - 我对Web服务还不太了解(还).但是,通过常规或(包含方法名称和所有参数)接受JSON对象并不是更容易,然后也以JSON响应.我们可以通过PHP轻松地序列化/反序列化,并且可以使用该数据执行任何操作,而无需处理不同的HTTP请求方法.POSTGETjson_encode()json_decode()
我错过了什么吗?
更新1:
好的 - 在深入研究各种API并学习了很多关于XML-RPC,JSON-RPC,SOAP,REST后,我得出结论,这种类型的API是合理的.实际上堆栈交换几乎在他们的站点上使用这种方法,我认为这些人知道他们正在做什么Stack Exchange API.
我可以在css中设置初始文本输入大小,如下所示:
width: 50px;
Run Code Online (Sandbox Code Playgroud)
但是当我打字直到达到例如200px时,我希望它能够增长.这可以用直接的css,html完成,最好不用javascript吗?
当然也要发布你的js/jquery解决方案,但如果没有它们就可以做到 - 这很棒.
我试试这里:
我无法理解为什么我们在PHP中需要2个XML解析器.
有人可以解释这两者之间的区别吗?
例如 - 我从cli创建数据库和表并插入一些数据:
CREATE DATABASE testdb CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
USE testdb;
CREATE TABLE test (id INT, str VARCHAR(100)) TYPE=innodb CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
INSERT INTO test VALUES (9, 'some string');
Run Code Online (Sandbox Code Playgroud)
现在我可以这样做,这些例子确实有用(所以 - 引号不会影响它看起来的任何东西):
SELECT * FROM test WHERE id = '9';
INSERT INTO test VALUES ('11', 'some string');
Run Code Online (Sandbox Code Playgroud)
所以 - 在这些例子中,我通过在mysql中实际存储为INT 的字符串选择了一行,然后在一个INT列中插入了一个字符串.
我不太明白为什么它的工作方式与此相同.为什么允许将字符串插入INT列?
我可以将所有Mysql数据类型作为字符串插入吗?
这种行为是否适用于不同的RDBMS?
谢谢!
我有一个带有multiple="multiple"属性的文件输入,允许用户一次选择多个文件.我想在上传之前显示所选的文件名及其计数但是我不知道如何使用javascript从文件输入元素获取此信息?
<input type="file" id="fileElementId" name="files[]" size="20" multiple="multiple" />
Run Code Online (Sandbox Code Playgroud)
我试过这个:
document.getElementById('fileElementId').value
Run Code Online (Sandbox Code Playgroud)
但是,当我选择多个文件时,这只返回一个文件名.使用JavaScript是如何从具有multiple属性的文件输入元素中检索所选文件及其名称的数量?
如何在jQuery中停止自定义事件冒泡?
例如,我有这个代码:
$('.myclass').bind('amodaldestroy', function(){
....does something.....
})
Run Code Online (Sandbox Code Playgroud)
我怎么只允许在冒泡时找到的第一个元素上触发一次?我可以添加退货false吗?
$('.myclass').bind('amodaldestroy', function(){
....does something.....
return false;
})
Run Code Online (Sandbox Code Playgroud) 我有几个使用Google Charts API实例化各种图表的函数.
当我在没有jQuery $(document).ready方法的情况下调用它们时,一切正常.但是用这种方法,我看着空白屏幕.
为什么?
<script type="text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js" charset="utf-8"></script>
<script type="text/javascript" src = "http://www.google.com/jsapi" charset="utf-8"></script>
function drawColumnChart1(){..some code..}
function drawColumnChart2(){..some code..}
function drawGeoChart(){.some code..}
//This works fine.
google.load("visualization", "1", {packages:["piechart", "corechart", "geomap"]});
google.setOnLoadCallback(window.drawColumnChart1);
google.setOnLoadCallback(window.drawColumnChart2);
google.setOnLoadCallback(window.drawGeoChart);
//This doesn't work
$(document).ready(function(){
google.load("visualization", "1", {packages:["piechart", "corechart", "geomap"]});
google.setOnLoadCallback(window.drawColumnChart1);
google.setOnLoadCallback(window.drawColumnChart2);
google.setOnLoadCallback(window.drawGeoChart);
});
Run Code Online (Sandbox Code Playgroud)
更新 以下是我在Firebug中遇到的错误:
uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://www.google.com/jsapi :: Q :: line 20" data: no]
http://www.google.com/jsapi
Line 22
Run Code Online (Sandbox Code Playgroud) 我理解它是如何工作的,但为什么我们会实际使用它呢?
<?php
class cat {
public function __toString() {
return "This is a cat\n";
}
}
$toby = new cat;
print $toby;
?>
Run Code Online (Sandbox Code Playgroud)
这不是这个:
<?php
class cat {
public function random_method() {
echo "This is a cat\n";
}
}
$toby = new cat;
$toby->random_method();
?>
Run Code Online (Sandbox Code Playgroud)
我们不能只使用任何其他公共方法输出任何文本?为什么我们需要像这样的魔术方法?
可能非常愚蠢的问题, - 但我一直在.gitmodules文件中指定子模块.最近让我感到震惊的是,也许有可能只是因为同样的原因使用.git/config,所以我不必在工作目录中保留无关的文件?
.git/config:
[submodule "path/to/repo"]
url = git@github.com:username/repo.git
Run Code Online (Sandbox Code Playgroud)
.gitmodules
[submodule "path/to/repo"]
path = path/to/repo
url = git@github.com:username/repo.git
Run Code Online (Sandbox Code Playgroud)
这些基本上是一样的吗?