对于我正在研究的项目的测试目的,如果给出正则表达式,我需要随机生成一个将由FAIL匹配的字符串.例如,如果我给这个正则表达式:
^[abcd]d+
Run Code Online (Sandbox Code Playgroud)
然后我应该能够生成如下字符串:
hnbbad
uduebbaef
9f8;djfew
skjcc98332f
Run Code Online (Sandbox Code Playgroud)
...每个都与正则表达式不匹配,但不生成:
addr32
bdfd09usdj
cdddddd-9fdssee
Run Code Online (Sandbox Code Playgroud)
......每一个DO.换句话说,我想要像反Xeger这样的东西.
这样的库是否存在,最好是用Python(如果我能理解这个理论,我很可能在需要的时候把它转换成Python)?我考虑过如何写这个,但考虑到正则表达式的范围,似乎可能比Xeger可以解决的问题困难得多.我也四处寻找一个预制的库来做这件事,但要么我没有使用正确的关键字进行搜索,要么之前没有人遇到过这个问题.
我无法使用phpdesigner IDE 格式化HTML标记.此IDE中的PHP代码美化仅格式化PHP代码,而不是HTML标记.
是否有人使用PHP设计师7来帮助我?
我有一个if语句,用于检测用户是否已登录并属于某个部门.这真的很简单.
有一个Permissions.php类,如果登录则返回User对象或NULL.
protected $user = NULL;
...
public static function instance() {
if(!self::$instance) {
self::$instance = new Permissions();
}
return self::$instance;
}
...
public function get_user() {
return $this->user;
}
Run Code Online (Sandbox Code Playgroud)
然后是user.php类,它具有返回它们所在部门的功能:
public function is_manager() {
return $this->is_manager;
}
Run Code Online (Sandbox Code Playgroud)
所以我应该能够做到以下几点:
if(Permissions::instance()->get_user()->is_manager())
Run Code Online (Sandbox Code Playgroud)
但是当然可能会抛出关于NULL对象的警告,所以我认为你可以做到以下几点:
if( ( ! is_null( Permissions::instance()->get_user() ) ) &&
( Permissions::instance()->get_user()->is_manager() ))
Run Code Online (Sandbox Code Playgroud)
哪个应该检查null,如果没有,它应该评估if语句的另一半,但PHP由于某种原因,评估所有它并仍然抱怨一个NULL对象(当用户没有登录时).
然后我将if语句分解为嵌套的if语句,并且PHP仍然抱怨null对象,这让我相信is_null方法没有按预期工作.
这最终奏效了:
if (Permissions::instance()->get_user() != NULL) {
if(Permissions::instance()->get_user()->is_manager()){
...
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么带有is_null函数的代码不起作用?
经过进一步测试,感谢你的一些好评,结果get_user()是没有返回NULL,但是(bool)false(来自var_dump).为什么会出现这种奇怪的行为?我的类在顶部清楚地将它设置为NULL,函数将变量返回为false?
我有一个使用实现虚拟属性的类__getattr__.属性可能很昂贵,例如执行查询.现在,我正在使用一个库,它在实际获取之前检查我的对象是否具有该属性.
因此,查询执行两次而不是一次.当然,实际执行__getattr__以确定属性是否存在是有意义的.
class C(object):
def __getattr__(self, name):
print "I was accessed"
return 'ok'
c = C()
hasattr(c, 'hello')
Run Code Online (Sandbox Code Playgroud)
有什么方法可以防止这种情况吗?
如果支持Python,__hasattr__那么我可以简单地检查查询是否存在,反对实际运行它.
我可以创建一个缓存,但它很重,因为查询可能有参数.当然,服务器可能会缓存查询本身并将问题最小化,但如果查询返回大量数据,它仍然很重要.
有任何想法吗?
我想在我的系统中将时间和日期日历更改为Jalali(伊朗使用的Shamsi日历).我怎样才能做到这一点?
"language_title" => "English",
"dir" => "ltr", // ltr = left to right, rtl = right to left
"language_code" => "en",
"intl_locale" => "en_US",
"dec_point" => ".",
"thousands_sep" => ",",
"dateformat_full" => "D, M j Y g:i A", // http://php.net/manual/en/function.date.php
"dateformat_date_long" => "D, M j Y", // http://php.net/manual/en/function.date.php
"intl_dateformat_full" => "E, d MMM yy h:m a", // http://userguide.icu-project.org/formatparse/datetime
"intl_dateformat_date_long" => "E, d MMMM yyyy", // http://userguide.icu-project.org/formatparse/datetimeRun Code Online (Sandbox Code Playgroud)
在我的控制器的Yii2应用程序的操作中假设如下:
public function actionView($i)
{
if ($i < 20)
{
//I want execute error 404
}
}
Run Code Online (Sandbox Code Playgroud)
我现在要做的就是设置一条flash消息并重定向到另一个动作.但是,我想生成404 Page not found响应.
有一个php库让evreybody能够攻击我(比如cURL).然后我有一个想法来阻止它,我想为我的元素使用动态类名.看这个:
<div class="<?php $ClassName ?>">anything</div> // $className is taken from the database
Run Code Online (Sandbox Code Playgroud)
注意:
$ClassName会有不同的时间.
在这种情况下,任何人都不知道我的类名是什么来选择我的元素然后复制我的数据.现在我有两个问题:
$ClassName和.$ClassName (在css文件中)之间进行通信?换句话说,我如何使用php变量的css类名?(动态css类)这是我的代码,它没有显示任何错误,但也不去href位置。当我更改href为“www.google.com”时,代码可以正常工作。为什么它不适用于同一页面链接?
<form>
<a href="#DivIdToScroll">
<div id="btnLink" onClick="generateReport();"> Generate </div>
</a>
</form>
<script>
function generateReport()
{
window.location.href = '#DivIdToScroll';
}
</script>
Run Code Online (Sandbox Code Playgroud) 我正在使用laravel-5.4分页,如下所示:
public function index()
{
$jobs = Job::paginate(5);
return view('job.index', compact('jobs'));
}
Run Code Online (Sandbox Code Playgroud)
在视图中:
{{ $jobs->links() }}
Run Code Online (Sandbox Code Playgroud)
存在生成两个典型页面的问题:/job并且/job?page=1两个页面具有相同的内容。
我想做任何page从分页首页上删除查询字符串的事情。
我尝试了以下方法:
if ($jobs->onFirstPage()){
$jobs->setPageName('');
}
Run Code Online (Sandbox Code Playgroud)
但这破坏了分页,即页面链接未正确加载,并且所有页面的查询字符串值均保持不变。
我使用 HTML 表单来允许用户查找数据库表中的条目:
<form action="controller.php" method="get">
<input type="text" name="word" id="word">
Run Code Online (Sandbox Code Playgroud)
我的数据库中的表有一列名为 keywords 的列,其中包含多个值,因此我使用 SELECT 查询来选择具有与用户在表单中键入的内容相匹配的任何关键字的所有行。所以controller.php包含这个查询:
$word= $_GET['word'];
$query = SELECT * FROM table WHERE table.keywords LIKE '%{$word}%
Run Code Online (Sandbox Code Playgroud)
除非用户在搜索框中输入多个单词,否则这种方法效果很好。如何更改此设置,以便当用户在搜索框中输入多个单词时,它将返回其关键字列中包含任一用户单词的所有行。
即,用户搜索“apples Oranges”,查询将返回关键字字段中包含“apples”或“oranges”的所有行。