草庐IT

php - WordPress 将非类别页面/页面/nnn 重定向到它们的规范 URL

我似乎在几乎所有其他Wordpress站点中都发现了一个奇怪的问题。假设,您已将博客主页设置为静态WP页面/myhome。并且您有一个单独的博客页面/blog。现在,这工作正常,应该是:/blog/blog/page/2/blog/page/3/blog/page/4但是,对于所有其他页面,例如/about-us,这些链接也有效:/about-us/page/2/about-us/page/3/about-us/page/4并显示/about-us页面的内容。我的问题是/about-us/page/2理想情况下应该重定向到/about-us(这是规范的URL),因为在任何其他页面都没有

Php规范。当 mock 必须返回一个对象时调用非对象的成员函数

我是phpspec的新手,正在尝试创建用于学习目的的虚拟转换器,但我坚持使用Calltoamemberfunctiononanon-objecterror这是我的代码:转换类private$supportedFormats=['xml','json'];private$handler;publicfunction__construct(ConvertHandler$handler){$this->handler=$handler;}publicfunctionconvert(array$data,$format){if(!$this->shlouldBeSupportedFormat(

php - 使用 composer 加载非命名空间类

我有以下结构application:controllers:-SomeController.php-SomeOtherController.phppublic:-index.php我使用composer包含了某些包。我想找到一种使用composer自动加载我的Controller的方法。但是,我的Controller没有命名空间。 最佳答案 如果您的项目结构不遵循PSR-0或PSR-4标准,您可以定义一个类映射,如下所示:{"autoload":{"classmap":["application/controllers/"]}}它将

php - 无法在类 App\bill、Laravel 中使非静态方法 Illuminate\Database\Eloquent\Model::getTable() 静态化

我在模型中创建了如下方法:classbillextendsModel{publicstaticfunctiongetTable(){$tables=Bill::where('order_type','0')->where('table_no','','')->groupBy('table_no')->get();return$tables;}}在Controller中我访问这个方法是publicfunctionbill(){$data=Bill::getTable();returnview('bill.bills');}它给出错误,因为Cannotmakenonstaticmethod

php - 尝试在 View 上访问 Auth::user()->name 时尝试获取非对象 [Laravel] 的属性

我正在尝试使用以下方法从View中获取用户名:Auth::user()->name我得到了尝试获取非对象的属性因为Auth::user()是NULL。这怎么可能?laravel生成的导航栏使用相同的方法,并且可以在那里工作。编辑:似乎我什至无法从Controller获得授权用户。Auth::guard('admin')->check();//trueAuth::user();//null有什么想法吗? 最佳答案 好吧,我又想通了,因为我使用了自定义守卫,所以我实际上需要使用:Auth::guard('admin')->user()-

php - 有没有办法将重音字符变成最接近的非重音字符?

我必须将“você-é-um-ás-da-aviação”之类的url转换为“voce-e-um-as-da-aviacao”,以使其在SERP上易于阅读。我可以使用通用替换,但我真的不喜欢列出每个字符,因为我觉得它很笨重,而且我想尽可能地将特定于语言的字符排除在源代码之外。这可能吗?可行吗? 最佳答案 functionurl_safe($string){$url=$string;setlocale(LC_ALL,'fr_FR');//changetotheoneofyourlanguage$url=iconv("UTF-8","A

php - preg_replace 除字符串开头的 + 以外的所有非数字字符

假设输入字符串+123-321+123345,使用PHP的正则表达式函数我想删除所有非数字([^\d])字符,除了开头的+字符。+可能存在也可能不存在,因此给定字符串123-321+123345结果应该相同(123321123345)。目前的解决方法是检查+,然后运行​​preg_replace('/[^\d]+/','',$string),但我确信必须有一个纯正则表达式的解决方案来解决这个问题。谢谢! 最佳答案 试试这个/(?\D与[^\d]相同(?是一个负向后视,确保在非数字之前没有字符串的开头。这个表达式将匹配所有不是字符串开

php - 至少包含 8 个字符和至少 1 个非字母数字字符的密码的正则表达式

如果用户更改密码,我正在尝试在PHP中进行检查,他们的新密码必须为8个或更多字符,并且至少有1个非字母数字密码。我应该如何检查它以及正则表达式是什么?检查长度是简单的部分strlen>=8。我的问题是正则表达式。即使经过多年的计算机科学学习,我对正则表达式真的一无所知。谢谢 最佳答案 尝试这样的事情来检查他们是否使用了非字母数字字符:if(!preg_match('/[^A-Za-z0-9]+/',$password)||strlen($password)如果$password不包含至少一个不在列表中的字符(字母数字字符)。

php - 非破坏性的 spl_autoload_register

我想在我正在开发的wordpress插件中通过spl_autoload_register使用类的动态加载,但问题是它不能干扰此功能的预先存在的实现。在我最初的尝试中://registeranautoloaderfunctionfortemplateclassesspl_autoload_register('template_autoloader');functiontemplate_autoloader($class){includeLG_FE_DIR."/includes/chart_templates/class.{$class}.php";}似乎可以加载我自己的类,但同时会导致其

php - Ajax 端点应如何响应非 ajax 请求?

我正在编写后端以响应ajax查询。我正在使用Codeigniter,我的Controller由这些函数组成。publicfunctionname_change(){if($this->input->is_ajax_request()){//GrabtheInputs//Dosomething//Respond}else{}}我唯一的问题是我应该如何处理不是Ajax请求的情况?没有理由应该通过非ajax请求访问这些Controller功能。我能想到的选项是。不发送回复抛出错误页面(我假设我会使用状态代码200或403) 最佳答案 黄金