Php 我应该向RESTful API添加类吗?为什么?
我创建了一个简单的网站,前端使用Angular,后端使用Slim。我想知道类如何改进/阻碍API 示例类Php 我应该向RESTful API添加类吗?为什么?,php,angularjs,class,oop,Php,Angularjs,Class,Oop,我创建了一个简单的网站,前端使用Angular,后端使用Slim。我想知道类如何改进/阻碍API 示例类 class Job { public $title; public $company; public $location; public function __construct($title = '', $company = '', $location = '') { $this->title = $title; $t
class Job {
public $title;
public $company;
public $location;
public function __construct($title = '', $company = '', $location = '') {
$this->title = $title;
$this->company= $company;
$this->location = $location;
}
}
下面的代码工作正常,但我想知道是否应该向API添加类,为什么?换句话说,这门课将如何发挥作用
角度-路由+控制器
function config($routeProvider) {
$routeProvider.when('/add-job', {
templateUrl: 'templates/add-job.view.html',
controller: AddController,
controllerAs: 'addCtrl'
});
};
function AddController($http) {
var that = this;
that.add_new = function (job) {
$http.post('api/add_job', that.job).success(function () {
});
};
}
Slim-PHP服务
require 'vendor/autoload.php';
$app = new \Slim\App;
$app->post('/add_job', 'addJob');
$app->run();
function addJob($request) {
$job = json_decode($request->getBody());
$sql = "INSERT INTO jobs (title, company, location) VALUES (:title, :company, :location)";
try {
$db = getConnection();
$stmt = $db->prepare($sql);
$stmt->bindParam("title", $job->title);
$stmt->bindParam("company", $job->company);
$stmt->bindParam("location", $job->location);
$stmt->execute();
$job->id = $db->lastInsertId();
$db = null;
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
OOP将帮助您标准化数据 在您提供的示例中,好处可能并不明显。但是,将来可能需要对参数进行一些检查。这些将最好地放置在
作业
对象的构造函数中。然后,无论在代码的哪个部分实例化对象,您都将拥有一致的规则
例如,您可能需要检索附加到公司的所有作业。使用Job
对象数组将比使用表行或二维数组容易得多
我还建议将您的属性定义为
private
,并使用setter和getter访问它们。对工作代码的分析和改进已在上完成,此站点仅适用于损坏的代码。@miken32不,堆栈溢出不仅仅适用于损坏的代码。工作代码可以位于堆栈溢出主题上。要么投票决定过于宽泛,主要是基于意见,要么让它保持开放。