我已经使用了三元运算符一段时间了,并且想知道是否有一种方法可以让没有该else
子句的函数调用.例:
if (isset($foo)) {
callFunction();
} else {
}
Run Code Online (Sandbox Code Playgroud)
现在显然我们可以省略else
:
if (isset($foo)) {
callFunction();
}
Run Code Online (Sandbox Code Playgroud)
现在对于三元组如果条件返回false,你怎么能通过'else子句'?
isset($foo) ? callFunction() : 'do nothing!!';
Run Code Online (Sandbox Code Playgroud)
要么是神秘还是不可能?
快速提问。有谁知道如何渲染组件数组?试图使开发人员更轻松地更改特定组件。(就像仪表板一样)。
组件清单文件
import React from 'react';
export default [
<ComponentOne/>
<ComponentTwo/>
];
Run Code Online (Sandbox Code Playgroud)
仪表板组件
import React from 'react';
import components from './../../components';
export default class Dashboard extends React.Component
{
render = () => {
//Want to render the array of components here.
return (
<div className="tile is-parent">
{components}
</div>
);
};
}
Run Code Online (Sandbox Code Playgroud)
问题是我需要向其中添加密钥的一系列组件。然而!我似乎也无法向该组件添加密钥,不确定如何真正解释它,所以这是我尝试过的代码:
{components.map((component, key) => (
<component key={key}/>
}
Run Code Online (Sandbox Code Playgroud)
如果执行上述操作,我不会收到“您必须应用密钥”错误,但是什么也没有呈现?我猜这是因为“组件”不存在或沿这些思路很怪异。
我也试过了,component.key = key;
但是显然它不能让我对这种类型的对象进行操作吗?
我想我的后备方法是返回一个简写函数而不是一个数组,但是由于某种原因我喜欢该数组?对于大三学生来说似乎更简单。
是否可以只显示:after
伪使用:hover
?例如,使用替代元素.
#parent{}
#child{display:none;}
#parent:hover >#child{display:block;}
Run Code Online (Sandbox Code Playgroud)
至于我用同样的方法:
#parent{}
#parent:after{content:'hi';display:none;}
#parent:hover #parent:after{display:block;}
Run Code Online (Sandbox Code Playgroud)
有可能吗?还是我自欺欺人?
嗨,我只是想知道是否可以使用像这样的函数在javascript中构建数组.我有一个变量,它使用了一系列元素的边距$(ele).css('margin');
.这将返回一个字符串,0px 0px 0px 0px
其中我只希望left属性检查它是否已被动画-=
左.
我可以做类似的功能但我知道必须有更好的方法.这是我的例子:
var marginsLeft = new array();
$(ele).each(function(i){
var r = $(i).css('margin').split(" ");
marginsLeft[i]=r[3];
});
Run Code Online (Sandbox Code Playgroud)
我不完全确定如何简化这一点,但我确信这是可能的:)提前感谢.
我正在使用 codeiginter,基本上我需要OR ()
而不是AND ()
在使用group_start()
. 这可能吗?
我需要生产的是
WHERE (u.location LIKE '%?%' OR (u.long BETWEEN ? AND ? AND u.lat BETWEEN ? AND ?)) AND u.active=1
Run Code Online (Sandbox Code Playgroud)
我目前在做什么
$this->db->group_start()
->like('u.location',$selector['text']);
if(isset($geo)){
$this->db->group_start();
$this->db->where('u.long >',$geo->long)
->where('u.long <',$geo->longmax)
->where('u.lat >',$geo->lat)
->where('u.lat <',$geo->latmax)
->group_end();
}
$this->db->group_end();
Run Code Online (Sandbox Code Playgroud)
这会产生什么
WHERE ( `u`.`location` LIKE '%?%' ESCAPE '!' AND ( `u`.`lat` < ? AND `u`.`lat` > ? AND `u`.`long` < ? AND `u`.`long` > ? ) )
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
我在解决如何将全局范围添加到 laravel 中的路由组时遇到了一些麻烦。我所做的是
Route::group([
"prefix" => "customer",
"namespace" => "Customer",
"as" => "Customer.",
], function() {
//make sure only public salons are displayed!
\App\Salon::addGlobalScope("public", function(\Illuminate\Database\Eloquent\Builder $builder) {
$builder->where("public", 1);
});
Route::get("/", "IndexController@index")->name("index");
Route::get("/salon/{salon}", "SalonController@show")->name("salon.show");
});
Run Code Online (Sandbox Code Playgroud)
这个想法是我希望在整个组中添加公共查询!这包括在沙龙模型和路由绑定上调用 newQuery。这可能吗?假设我很懒惰,而不是定义路由绑定并将范围添加到每次使用中,我宁愿在这里执行此操作,因为我在整个组中都需要此绑定!
提前致谢 :)
我有一些问题为mysqli对象构建一个单独的类,供多个类使用.我最初得到的错误Access to undeclared static property: database::$DBH
是我不理解的,因为属性不是静态的.我推测它可能是因为phpversion()
返回5.2.17并且我发现单例模式只能使用版本> 5.3来完成?(可能是完全错误的).我调查了一下,发现我的服务器提供商允许我选择我可以使用的PHP版本.我目前选择5.3.3,但同样的错误.要么我必须等待服务器"刷新"它的设置.或者我的版本5.3.3确实存在合法错误
class database{
private$DBH;
private static$singleton;
protected function __construct(){
$this->$DBH=new mysqli(HOST,USER,PASSWORD,DATABASE);
//also tried self::$DBH;
//if(mysqli_connect_errno())print_r(mysqli_connect_error());
}
public static function instance(){
if(!(self::$singleton instanceof self))self::$singleton=new self();
return self::$singleton;
}
public static function get(){
return self::instance()->$DBH;
}
private function __wake(){}
private function __clone(){}
}
class test{
public function __construct(){
$get=database::get()->prepare('SELECT column FROM table');
$get->execute();
$get->bind_result($col);
while($get->fetch()){
print($col."\n");
}
//$get->close(); not required.
}
}
$t=new test();
Run Code Online (Sandbox Code Playgroud)
有没有其他想要我想要实现的选择?(单个mysqli对象用于多个类,也是标准对象的'securer'方法.)
我应该用mysqli扩展我的数据库类吗?
我应该使用PDO吗?
或者再次更好!获得更好的服务器提供商,他们的服务是最新的.
我不太确定我正在创建的对象类型的“名称”。我称其为树,因为它看起来类似于没有关系的嵌套树。本质上我想要一个具有嵌套定义的对象,如下所示
{
test1: OptionsInterface,
test2: {
test3: OptionsInterface,
test4: {
test5: OptionsInterface,
},
},
}
Run Code Online (Sandbox Code Playgroud)
因此,第一个级别可以是OptionsInterface
或者{[s: string]: OptionsInterface}
有没有办法在对象的每个“级别”上使用它?
我尝试像这样定义上面的内容:
export default class ApiClient {
constructor(options: {[s: string]: OptionsInterface | {[s: string]: OptionsInterface}}) {}
Run Code Online (Sandbox Code Playgroud)
但这只会是 2 深,对吗?有没有一种方法可以定义我的示例对象,而无需手动添加每个深度?
用例
我希望能够像这样打电话给我的班级
api = new ApiClient(routeSchema);
await api.call('test2.test4.test5', params);
Run Code Online (Sandbox Code Playgroud)
通话中:
async call(config: string, variables: object = {}): Promise<Response> {
const options = get(this.configuration, config);
if (options === undefined) {
throw new ConfigNotDefinedExpection(config);
}
return await this.callWithOptions(options, variables);
}
Run Code Online (Sandbox Code Playgroud)
哪里callWithOptions …
是否有更简单的方法将表中的整数值更新为1而不"获取/返回"该值?
我正在寻找类似的东西 $i ++;
$query = $DBH->prepare("UPDATE table SET col = ?");
$query->bind_param(++);
$query->execute();
Run Code Online (Sandbox Code Playgroud)
显然上面的内容不会起作用,但这是我希望实现的目标.
php ×5
mysqli ×2
arrays ×1
class ×1
codeigniter ×1
css ×1
css-content ×1
definition ×1
javascript ×1
jquery ×1
laravel ×1
oop ×1
pseudo-class ×1
reactjs ×1
routes ×1
scope ×1
singleton ×1
typescript ×1