首页 > 其他分享 >tp3.2.3 关于chdir导致namespace Event路径冲突的问题

tp3.2.3 关于chdir导致namespace Event路径冲突的问题

时间:2024-09-19 12:47:24浏览次数:9  
标签:__ chdir .. namespace echo tp3.2 new php

echo $_SERVER['DOCUMENT_ROOT'] . '<br>';
echo getcwd().'<br>';
echo dirname(__FILE__);

chdir(dirname(__FILE__));

require_once("../thirdPay/OrderCreate.php");
require_once("../thirdPay/OrderQuery.php");
$rsa_helper = new RSAUtil(PayConfig::PRIVATE_KEY, PayConfig::PUBLIC_KEY);
$assasasasaEvent = new \BMGXXX\EventCCCCC\CCCCEvent();
echo $assasasasaEvent >get_MonthTable('dsds'). '<br>';


chdir会影响路事件的路径,导致命名空间的Event都找不到,原因就是工作目录发生了变化,切换了工作目录估计影响不仅仅是事件的路径。
很多包含路径都会被牵连,chdir这个函数真的要慎用
有人说chdir先切换,用完了再切换回来,这太不可控了,影响了很多约定的默认用法,如果真的想包含文件,尽量不要用cdir,使用下面的方法直接包含

=========== ======================== ================ ============================

$curDir = dirname(__FILE__) . '/';
require_once($curDir . "../thirdPay/OrderCreate.php");
require_once($curDir . "../thirdPay/OrderQuery.php");
$rsa_helper = new RSAUtil(PayConfig::PRIVATE_KEY, PayConfig::PUBLIC_KEY);

$assasasasaEvent = new \BMGXXX\EventCCCCC\CCCCEvent();
echo $assasasasaEvent >get_MonthTable('dsds'). '<br>';

 

标签:__,chdir,..,namespace,echo,tp3.2,new,php
From: https://www.cnblogs.com/yuzhould/p/18420364

相关文章

  • [namespace hdk] modint
    #include<bits/stdc++.h>usingnamespacestd;template<longlongmod=INT_MAX,typenameT0=longlong>classmodint{ private: T0x; longlongpositive(longlongx){ x+=(llabs(x/mod)+1ll)*mod; returnx%mod; } modint<mod>positi......
  • 命令空间(namespace)===> 用于防止名字冲突而引入的一种机制
    命令空间(namespace)用于解决同名实体:同名函数同名变量同名的类定义防止名字冲突而引入的一种机制。系统中可以定义多个命名空间,每个命名空间都有自己的名字,不可以同名可以看成一个作用域命名空间的定义#类似java中包的概念:在不同cpp文件中创建同名的方法等namesp......
  • Error: xz: undefined method `deny_network_access!' for Formulary::FormulaNamespa
      ==>Fetchingxz==>Downloadinghttps://raw.githubusercontent.com/Homebrew/homebrew-core/c7f385112a4c2b9eed76b346d11d333fa8954a89/Formula/x/xz.rbAlreadydownloaded:/Users/wboll/Library/Caches/Homebrew/downloads/049af374432798d3b924a0d36bdcd6......
  • C++中namespace的用法
    我们在现实的项目开发中一般会有着大量的代码,而且代码都是多人编写的,也许一个项目会有10个功能,每一个人都要完成一个功能。但是敲过代码的都知道,一般在编写程序的时候如果多人没有实现约定去完成,那就会出现代码冲突的情况,那么,为了解决这样的冲突,我们C++中使用了命名空间namesp......
  • K8S之namespace资源限制
    在默认情况下,K8S不会对Pod进行CPU和内存限制,如果某个Pod发生内存泄露那么将是一个非常糟糕的事情所以在部署Pod的时候都会把Requests和limits加上,配置文件示例如下apiVersion:apps/v1kind:Deploymentmetadata:name:ng-deployspec:selector:matchLables:......
  • linux容器基础-namespace-3(pid)
    pidnamespacepidnamespace表示隔离一个具有独立PID的运行环境。在每一个pidnamespace中,进程的pid都从1开始,且和其他pidnamespace中的PID互不影响。这意味着,不同pidnamespace中可以有相同的PID值。在介绍pidnamespace之前,先创建其他类型的namespace然后查看进程关......
  • c++ 线程函数传递数据 namespace
     CMakeLists.txt cmake_minimum_required(VERSION3.10)#Settheprojectnameproject(GlobalMatrixExample)#FindEigenpackagefind_package(Eigen33.3REQUIRED)#Findpthreadpackagefind_package(ThreadsREQUIRED)#Addexecutableadd_executable(g......
  • VsCode C++ namespace has no member错误
    此问题VSCode C++插件本身bug解决办法一:还原c++插件到旧版本解决方法二:但此方法智能提示会有很多多余的信息(有缺陷)在官方未推出相应布丁之前,可按照以下步骤避免该问题:1、按顺序打开:文件》首选项》设置2、在右边,用户设置窗口添加以下代码:"C_Cpp.intelliSenseEngine":"TagP......
  • VS Code 提示 namespace “std“ has no member “***“ 解决方法
    问题:自己编写的代码没有问题,能够编译和运行,但是vscode一直向我显示错误信息,提示namespace"std"hasnomember"***"。解决方案:在 VSCode 打开c_cpp_properties.json文件,将cStandard和cppStandard改成统一标准:"cStandard":"c11","cppStandard":"c++11",......
  • 在K8S中,在容器内如何获取pod和namespace名字?
    在K8S中,可以通过DownwardAPI将Pod和Namespace的名字注入到容器内的环境变量或文件中。这种方法允许容器内部的应用直接访问这些信息,从而进行相应的配置或处理。具体技术介绍如下:环境变量获取获取Pod名称:在Pod的配置中,可以通过设置一个环境变量,将Pod的名称注入到容器内。例......