如何在Git pull上忽略以下错误消息?
合并将覆盖对以下文件的本地更改
如果我想覆盖它们怎么办?
我尝试了类似的东西git pull -f,但没有任何作用.
要清楚,我只想覆盖特定的变化,而不是一切.
这似乎是一个微不足道的问题,但是我能想到的所有明显的解决方案都有其自身的缺陷.
我们想要的是能够仅为新记录设置任何默认的ActiveRecord属性值,使其在验证之前和验证期间可读,并且不会干扰用于搜索的派生类.
一旦我们实例化类,就需要设置和准备(new MyModel)->attr默认attr值,以便返回默认值.
以下是一些可能性和问题:
A)在MyModel超控的init()方法和分配默认值时isNewRecord,像这样是正确的:
public function init() {
if ($this->isNewRecord) {
$this->attr = 'defaultValue';
}
parent::init();
}
Run Code Online (Sandbox Code Playgroud)
问题:搜索.除非我们明确地取消设置我们的默认属性MySearchModel(非常容易出错,因为它太容易忘记),这也会在调用search()派生MySearchModel类之前设置值并干扰搜索(该attr属性已经设置,因此搜索将返回结果不正确).在Yii1.1中,这是通过在调用unsetAttributes()之前调用来解决的search(),但是在Yii2中不存在这样的方法.
B)在MyModel超控的beforeSave(),像这样的方法:
public function beforeSave($insert) {
if ($insert) {
$this->attr = 'defaultValue';
}
return parent::beforeSave();
}
Run Code Online (Sandbox Code Playgroud)
问题:未在未保存的记录中设置属性.(new MyModel)->attr是null.更糟糕的是,即使是依赖于此值的其他验证规则也无法访问它,因为在验证之后beforeSave()会调用它.
C)为了确保在验证期间值可用,我们可以改写beforeValidate()方法并在其中设置默认值,如下所示: …
这是XML的一部分:
<item><img src="cat.jpg" /> Picture of a cat</item>
Run Code Online (Sandbox Code Playgroud)
提取标签很简单.做就是了:
et = xml.etree.ElementTree.fromstring(our_xml_string)
img = et.find('img')
Run Code Online (Sandbox Code Playgroud)
但是如何在它之后立即获取文本(猫的图片)?执行以下操作将返回一个空字符串:
print et.text
Run Code Online (Sandbox Code Playgroud) 在我们的应用程序中使用 PHP 检查软件包(任何版本)是否已安装/存在的最干净的方法是什么?
基本上,在我们的应用程序中,我们想要调用具有以下签名的函数:
bool function hasComposerPackage(string $packageName)
这个函数必须包含什么,以便我们可以执行以下操作:
if (hasComposerPackage('phpunit/phpunit')) {
echo 'PHPUnit is installed!';
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,这需要在没有任何命令行 exec 调用的情况下发生,并且不应在进程中自动加载任何不必要的文件。
根据crypt(3)手册,Blowfish(由$ 2a $前缀表示)是受支持的密码方法之一:
ID | Method
?????????????????????????????????????????????????????????
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
Run Code Online (Sandbox Code Playgroud)
然而,部分说Blowfish(不在主线glibc;在一些Linux发行版中添加)是令人困惑和未记录的,所以我有几个问题.
首先,如果"主线"glibc不支持Blowfish,那么哪个glibc呢?Ubuntu 14.04使用glibc 2.19,打包在libc6/libc6-dev软件包中.假设这是"主线"glibc,则不支持Blowfish.显然有一个叫做crypt_blowfish的补丁,为glibc增加了Blowfish支持.为什么Ubuntu默认没有启用它?最后但并非最不重要的是,在Ubuntu中使C crypt()函数了解Blowfish哈希的最简单方法是什么?
在PreferenceActivity中使用首选项文件(而不是默认的共享首选项)的方法如下:
public class MyPreferencesActivity extends PreferenceActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferenceManager prefMgr = getPreferenceManager();
prefMgr.setSharedPreferencesName("my_preferences");
prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE);
addPreferencesFromResource(R.xml.preferences);
}
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,我们使用名为"my_preferences"的共享首选项.但是,我们如何在同一个PreferenceActivity中使用多个自定义首选项?
这是关于Yii2中RBAC使用的问题.
到目前为止,我发现它工作得相当好和令人满意,但是我缺少一个关键功能:Yii2规则能够以与Yii2 Validators设置错误消息类似的方式提供"反馈",以解释验证失败的原因.我正在寻找一种方法来提供某种反馈,说明为什么没有授予许可.
特别是,can()方法将返回一个布尔类型,这很好,但是在检查权限时,我们不知道为什么用户没有被授予该特定权限.
举一个更实际的例子.假设我们正在尝试确定当前用户是否可以提交评论.我们通常会这样做:
if (Yii::$app->user->can('postComment',['comment'=>$comment])) {
$comment->post();
} else {
throw new ForbiddenHttpException('Sorry m8, you cant do this. No idea why tho!');
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是如示例所示,我们真的不知道为什么用户无法发表评论.可能有多种原因,例如因为线程被锁定或者因为他们没有在某个类别中发布的权限,或者因为他们没有足够高的声誉等等.但我们想告诉用户原因!所以我的问题是,我们如何从Yii2的RBAC获得反馈?
是)我有的:
array = original_array[:]
result = reduce(lambda a,b: some_function(b,array), array)
Run Code Online (Sandbox Code Playgroud)
我想要的是:
我想摆脱array = original_array [:]语句.理想情况下,我只需用original_array [:] 替换reduce()中的数组参数,但我也需要在lambda中使用它.有没有办法从lambda中引用 数组参数?
以下是不可接受的解决方案,因为它为每个元素创建一个新的数组副本:
result = reduce(lambda a,b: some_function(b,original_array[:]), original_array[:])
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西:
result = reduce(lambda a,b: some_function(b,reduce_parameter), original_array[:])
Run Code Online (Sandbox Code Playgroud) 我不确定我是否使用了正确的术语,因此我将描述我想要实现的目标.
我有一个名为ControllerA的控制器,并希望一个名为ControllerB的"虚拟"控制器与ControllerA完全相同.
基本上我只想让url site.com/ControllerB加载与site.com/ControllerA相同的页面(但不是重定向).
希望我的描述足够清楚.
在使用GetText翻译Yii中的字符串时,我们是否必须使用Yii::t($category,'message')或gettext的_('message')语法?
然后我们如何将字符串拉入PO文件?
如何重构此查询:
SELECT * FROM tbl t
WHERE (
t.id IN <subquery1>
OR t.id IN <subquery2>
OR t.id IN <subquery3>
)
Run Code Online (Sandbox Code Playgroud)
...变成看起来更像下面的东西:
SELECT * FROM tbl t
WHERE t.id IN (<subquery1> OR <subquery2> OR <subquery3>)
Run Code Online (Sandbox Code Playgroud)
注意:所有 3 个子查询都从相同的 中tbl t选择,但它们各自选择不同的列。
用一些具体的例子进一步阐明子查询:
SELECT col1 FROM tbl WHERE value=100SELECT col2 FROM tbl WHERE value=200SELECT col3 FROM tbl WHERE value=300表结构:
CREATE TABLE tbl (
id INTEGER PRIMARY KEY,
col1 INTEGER not null,
col2 INTEGER …Run Code Online (Sandbox Code Playgroud) 假设模块遵循文档中概述的目录结构,Yii2 应用程序控制器(不是模块控制器)如何呈现模块提供的视图?
yii2 ×3
php ×2
python ×2
yii ×2
activerecord ×1
alias ×1
android ×1
blowfish ×1
button ×1
composer-php ×1
crypt ×1
elementtree ×1
encryption ×1
gettext ×1
git ×1
git-pull ×1
git-stash ×1
glibc ×1
in-subquery ×1
java ×1
javascript ×1
mysql ×1
php-gettext ×1
rbac ×1
select ×1
sql ×1
subquery ×1
text ×1
tinymce ×1
wysiwyg ×1
xml-parsing ×1
yii2-model ×1
yii2-module ×1
yii2-rbac ×1