小编Dan*_*Dan的帖子

在bash脚本中创建时间戳变量

我正在尝试在shell脚本中创建一个时间戳变量,以使日志记录更容易一些.我想在脚本的开头创建变量,并在每次发出时打印出当前时间echo $timestamp.事实证明,这比我想象的要困难得多.以下是我尝试过的一些事情:

timestamp="(date +"%T")" echo打印出来 (date +"%T")

timestamp="$(date +"%T")" echo打印变量初始化的时间.

我尝试过的其他事情只是轻微的变化,没有任何改善.有谁知道如何完成我想要做的事情?

variables bash timestamp

338
推荐指数
14
解决办法
53万
查看次数

Git另一个遥控器的合并分支

现在,我看到很多来自Linux Torvalds和/或Gitster的提交看起来像这样:

Merge branch 'maint' of git://github.com/git-l10n/git-po into maint …
* 'maint' of git://github.com/git-l10n/git-po:
  l10n: de.po: fix a few minor typos
Run Code Online (Sandbox Code Playgroud)

要么:

Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst… …
…ream-linus

Pull MIPS update from Ralf Baechle:
...
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (22 commits)
  MIPS: SNI: Switch RM400 serial to SCCNXP driver
...
Run Code Online (Sandbox Code Playgroud)

我不知道怎么会这样做,虽然,我知道git remotegit checkout以及git merge我用来合并forks(或"pull requests")但它不会生成这样的消息,为什么?怎么会有人这样做(请提供例子)?

PS:我是Linus Torvalds提交的粉丝等,就像他的合并描述的详细程度一样; P

PS:这是我用来合并东西的方式:

git remote add anotherremoot
git checkout -b anotherbranch
git pull remoteshortcut
...do tests...
git …
Run Code Online (Sandbox Code Playgroud)

linux git command-line

24
推荐指数
1
解决办法
1万
查看次数

PHP 7致命错误:static :: class不能用于编译时类名解析

当前Travis-CI PHP7构建在执行以下代码时抛出以下错误:

PHP 7致命错误:static :: class不能用于编译时类名解析

trait EloquentValidatingTrait
{
    // Some declarations skipped
/**
 * Eloquent will call this on model boot
 */
public static function bootEloquentValidatingTrait()
{
    // Calling Model::saving() and asking it to execute assertIsValid() before model is saved into database
    $savingCallable = [static::class, 'saving'];
    $validationCallable = [static::class, 'assertIsValid'];
    forward_static_call($savingCallable, $validationCallable);
}
Run Code Online (Sandbox Code Playgroud)

这是一个临时错误还是我错过的未来功能?此RFC下面的注释说它应该可以工作(并且它在5.5和5.6中都有效).

php php-7

9
推荐指数
1
解决办法
437
查看次数

使构造函数复杂化是不好的做法

所以我正在建立一个PHP网站来浏览我的局域网上的电影收藏.它经历了几次迭代,现在我认为面向对象是可行的方法.在当前状态下,我有几个函数可以从数据库中获取电影信息.因此,每当我需要电影的信息时,我必须调用一些函数来获取所有信息并将其传递给其他函数以执行我想要的操作.

我对面向对象版本的想法是在构造函数中执行所有这些'getinfo'函数.所以我只是创建一个电影对象,所有信息都可以随时使用$movieobj->title,等等.

我试了一下,然后想出来测试它:

class movie{
public $tite = Null;

function __construct($id, $conn){

//set title property
$sql_select = $conn->prepare("SELECT title FROM movie.title 
                              WHERE `movieID` = {$id} LIMIT 1");
$sql_select->execute();
$sql_select->bind_result($val);
$sql_select->fetch();
$this->title = $val;
}
Run Code Online (Sandbox Code Playgroud)

}

这是我想要的,能够使用以下方式获得电影片名:

$movie = new movie(100,$db);

echo $movie->title;
Run Code Online (Sandbox Code Playgroud)

但实际上我会在构造函数中有一些类似的代码块来获取电影的其他信息.

这是使用构造函数的错误方法吗?它应该更简单,然后有其他方法从数据库中提取这些信息吗?拥有一个复杂的构造函数会使其他代码变得更简单,但这是不好的做法,还是会导致我看不到的问题?

php oop constructor

6
推荐指数
1
解决办法
439
查看次数

Yii2 无效调用:设置只读属性

我有一个Post与 具有多对多关系的模型Tags

\n\n

在 Post 模型中定义:

\n\n
public function getTags(){\n    return $this->hasMany(Tags::className(), ['id' => 'tag_id'])\n        ->viaTable('post_tags', ['post_id' => 'id']);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是Post::tags只读的。因此,当我尝试在控制器中设置它们时,出现错误:

\n\n
\n

无效调用 \xe2\x80\x93 yii\\base\\InvalidCallException

\n\n

设置只读属性:app\\models\\Post::tags

\n
\n\n

控制器使用 load 来设置所有属性:

\n\n
public function actionCreate(){\n    $P = new Post();\n    if( Yii::$app->request->post() ){\n        $P->load(Yii::$app->request->post());\n        $P->save();\n        return $this->redirect('/posts');\n    }\n    return $this->render('create', ['model'=>$P]);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

视图中的输入字段:

\n\n
<?= $form->field($model, 'tags')->textInput(['value'=>$model->stringTags()]) ?>\n
Run Code Online (Sandbox Code Playgroud)\n\n

为什么是Post::tags只读的?设置模型关系的正确方法是什么?

\n

php yii yii2

6
推荐指数
1
解决办法
2万
查看次数

试图使用面向对象的JavaScript和AJAX

我正在尝试使用一些面向对象的Javascript来保持我的代码干净,而不是像往常一样有一个巨大的凌乱脚本.使用Ajax使其变得复杂,具有异步特性,难以分离代码.

我遇到的一个具体问题是使用Ajax设置对象属性.

我有以下代码:

var Class = function(){
  this.attr1;
}

Class.prototype.setAttr1 = function(){
  var self = this;   
  $.ajax({
    url:'http://api.something.com?get=somedata',
    success: function(data){
      self.attr1 = data.name;
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

这应该有效,但是如果我从其他地方访问该属性,我无法确定该属性是否已设置,对吗?有没有办法解决这个问题.就像我需要在attr1某个地方使用一样,我可以等待ajax返回吗?或者,如果我完全关闭,人们如何在使用Ajax时封装代码?

javascript oop ajax

4
推荐指数
1
解决办法
1881
查看次数

使用鼠标位置绘制圆圈

我试图通过单击并拖动鼠标指针来绘制一个圆.你在PowerPoint或其他方面的方式.圆圈的中心出现在奇怪的地方,我无法解释.

这是jsfiddle:https://jsfiddle.net/h8t3hfa2/2/

这就是我获得开始和结束位置的方式;

$('#c').mousedown(function(event) {
  var parentOffset = $(this).offset();
  circle = new Circle();
  circle.start['x'] = event.pageX - parentOffset.left;
  circle.start['y'] = event.pageY - parentOffset.top;

});

$('#c').mouseup(function(event) {
  var parentOffset = $(this).offset();
  circle.end['x'] = event.pageX - parentOffset.left;
  circle.end['y'] = event.pageY - parentOffset.top;
  circle.draw(canvas[0]);

});
Run Code Online (Sandbox Code Playgroud)

当我控制台记录中点时,它看起来是正确的,但圆圈显示在其他地方.有任何想法吗?

javascript html5 canvas

4
推荐指数
1
解决办法
1263
查看次数

jQuery中的变量赋值

jQuery的新手,并且在理解一些语法方面遇到了一些麻烦.这段代码片段中发生了什么?

var that = $(this),
    url = that.attr('action'),
    method = that.attr('method'),
    data = {};
Run Code Online (Sandbox Code Playgroud)

它是定义4变量还是数据结构.此代码位于提交表单时执行的jQuery代码块中.$(this)是提交的表格.我甚至不确定从哪里开始谷歌搜索.

jquery

1
推荐指数
1
解决办法
348
查看次数

JS变量是否可以防止用户操纵?

我试图分离一堆混乱的PHP和JS.我不是在初稿中寻求完美,但任何事情都比当前状态更好.

当前(全部在一个文件中):

<?php if( checkSecureUserStuff ): ?>
//bunch of js like including admin features
//not fun stuff
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

建议:

PHP文件

if( checkSecureUserStuff ){
  $userAccess = 'admin';
}
...
//Later in file, I know this still not ideal
<script>
var useraccess = <?= json_encode($userAccess) ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

JS文件

if( useraccess == 'admin' ){
  // do the admin related JS stuff here
}
Run Code Online (Sandbox Code Playgroud)

显然在最终的HTML var useraccess = 'admin';中将是可见的.那时操纵是否开放?我知道这个设计不是很好,但它是不是非常不安全?

哦,是的,我应该提一下.仍在服务器上检查操作.这更多的是保护UI并保持某些内容被禁用.服务器仍将验证操作.

我想问题更多的是如果在文档加载时设置和检查变量,用户是否可以操作UI.米勒布尔提到设定破发点已经部分回答了问题.没有想到这一点

javascript php security

1
推荐指数
1
解决办法
112
查看次数

CSS以避免容器调整大小以适合粗体文本

有点复杂的标题,但很容易证明

#txt {
  padding: 5px;
}
#txt:hover {
  font-weight: bold;
}
#test {
  display: inline-block;
  border: solid 1px black;
  min-width: 100px;
}
Run Code Online (Sandbox Code Playgroud)
<div id="test">
  <div id="txt">This is some text</div>
</div>
Run Code Online (Sandbox Code Playgroud)

所以我有上述情况.

当我将鼠标悬停在文本上时,我可以用CSS做什么来避免容器(测试)的大小调整?就像调整填充或边距调整大小一样.或者设置宽度,使其足以处理粗体文本(但仍然是动态的).

html css

0
推荐指数
1
解决办法
1043
查看次数

标签 统计

php ×4

javascript ×3

oop ×2

ajax ×1

bash ×1

canvas ×1

command-line ×1

constructor ×1

css ×1

git ×1

html ×1

html5 ×1

jquery ×1

linux ×1

php-7 ×1

security ×1

timestamp ×1

variables ×1

yii ×1

yii2 ×1