FWIW, он может быть адресован таким образом (если шаблоны могут использоваться), если вы не хотите добавлять перегрузки для const char*
.
#include <iostream>
#include <string>
#include <type_traits>
template <typename Bool,
typename T = std::enable_if_t<std::is_same<Bool, bool>{}>>
void foo(Bool)
{
std::cerr << "bool\n";
}
void foo(const std::string&)
{
std::cerr << "string\n";
}
int main()
{
foo("bar");
foo(false);
}
Мое решение: в папке webroot я сделал ссылку на BASEROOT (с именем 'baseroot'), а затем создал файл src / View / UrlHelper
class UrlHelper extends CakeUrlHelper{
public function webroot($file){
//code
if (file_exists(\Cake\Core\Configure::read('App.wwwRoot') . $file)) {
$webPath = $this->request->getAttribute('webroot') . $asset[0];
}else{
$webPath = $this->request->getAttribute('webroot').'baseroot'.DS.$asset[0];
}
//more code
}
}