📅  最后修改于: 2023-12-03 15:21:20.991000             🧑  作者: Mango
Yii is a high-performance PHP framework that has been around since 2008. It provides everything you need to build modern web applications, from database access to user authentication and authorization. In addition to that, Yii also includes a powerful RESTful API framework that allows you to quickly build API endpoints for your web applications.
The first step in building a RESTful API with Yii is to set up your project. Yii uses Composer for dependency management, so you will need to install that first.
Once you have Composer installed, you can create a new Yii project using the following command:
composer create-project --prefer-dist yiisoft/yii2-app-basic mynewproject
This will create a new Yii project in a folder named mynewproject
. You can then navigate to that folder and start setting up your API!
To build your first API endpoint, you will need to create a new controller. Yii uses the Model-View-Controller (MVC) architecture, so controllers are responsible for handling requests and returning responses.
To create a new controller, run the following command:
./yii gii/controller --controllerClass=api/v1/UsersController --enableI18N=0
This will generate a new UsersController
in the api/v1
directory. You can then open this file and add your API endpoint:
namespace app\controllers\api\v1;
use yii\rest\ActiveController;
class UsersController extends ActiveController
{
public $modelClass = 'app\models\User';
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['contentNegotiator'] = [
'class' => 'yii\filters\ContentNegotiator',
'formats' => [
'application/json' => \yii\web\Response::FORMAT_JSON,
],
];
return $behaviors;
}
}
In this example, the UsersController
extends ActiveController
, which provides a lot of useful functionality out of the box. The modelClass
property tells Yii which model to use for this controller (in this case, the User
model).
The behaviors()
method is used to add additional functionality to the controller. In this case, we are adding a ContentNegotiator
behavior, which tells Yii to return responses in JSON format.
Now that you have created your API endpoint, you can test it using a tool like Postman. To test the index
action of your UsersController
, for example, you would send a GET request to the following URL:
http://localhost/mynewproject/web/index.php?r=api/v1/users
Assuming everything is set up correctly, this should return a JSON response containing all of the users in your database.
Yii provides a powerful RESTful API framework that makes it easy to build API endpoints for your web applications. By following the steps outlined above, you can quickly set up your project and start building your own API endpoints. Happy coding!