我有一个计算某事的文件,比方说税。 Tax.php
,这是在某个文件夹中,比方说/MyCalculations/Taxes/Tax.php
。
现在我希望在我的控制器中访问此文件,如何访问此文件,或者如何在此文件中访问这些计算?
Tax.php的示例代码:
<?php namespace MyCalculations/Taxes;
class Taxes extends Enginge {
//some calculations here
}
?>
我正在使用laravel。感谢
答案 0 :(得分:2)
您可以从为应用程序创建命名空间开始,并在app目录中放置一个文件夹,可能是app / Projectname。 然后你可以将你的计算命名空间放在那里。然后通过添加
自动加载项目中的所有内容"autoload": {
"classmap": [
"..."
],
"psr-0": {
"Projectname": "app/"
}
},
到您的composer.json文件,然后执行dump-autoload。然后你可以在控制器中使用依赖注入,如下所示:
use Projectname\MyCalculations\Taxes\Tax;
class TaxController extends BaseController {
protected $tax;
public function __construct(Tax $tax)
{
$this->tax = $tax;
}
public function getTaxValue()
{
$value = Input::get('value');
return $this->tax->getAwesome($value);
}
答案 1 :(得分:0)
编辑您的composer.json文件并将“files”部分添加到其中:
"autoload": {
...
"files": [
"app/MyCalculations/Taxes/Tax.php"
]
},
然后你必须执行:
composer dump-autoload
并在任何地方使用它们。
如果您使用的是PHP 5.5,则还可以使用特征:
<?php namespace MyCalculations/Taxes;
trait TaxesTraits {
function calculateX()
{
}
}
class Taxes extends Enginge {
use TaxesTraits;
public function calculate()
{
$x = $this->calculateX();
}
}