Skip to content
This repository has been archived by the owner on Dec 30, 2023. It is now read-only.

Commit

Permalink
New Crowdin translations (#1895)
Browse files Browse the repository at this point in the history
* New translations Phalcon_Mvc_Model.md (Thai)

* New translations Phalcon_Loader.md (Thai)

* New translations devtools-installation.md (Spanish)

* New translations events.md (Spanish)

* New translations crypt.md (Spanish)

* New translations loader.md (Spanish)

* New translations request.md (Spanish)

* New translations routing.md (Spanish)

* New translations Phalcon_Loader.md (Turkish)

* New translations Phalcon_Http_Cookie.md (Turkish)

* New translations Phalcon_Http_Response.md (Turkish)

* New translations crypt.md (Ukrainian)

* New translations events.md (Ukrainian)

* New translations loader.md (Ukrainian)

* New translations request.md (Ukrainian)

* New translations Phalcon_Http_Response.md (Thai)

* New translations Phalcon_Http_Response_Cookies.md (Thai)

* New translations Phalcon_Http_Cookie.md (Thai)

* New translations loader.md (Thai)

* New translations Phalcon_Http_Cookie.md (Ukrainian)

* New translations Phalcon_Http_Response.md (Ukrainian)

* New translations Phalcon_Http_Response_Cookies.md (Ukrainian)

* New translations Phalcon_Mvc_Model.md (Ukrainian)

* New translations Phalcon_Loader.md (Ukrainian)

* New translations views.md (Azerbaijani)

* New translations webserver-setup.md (Azerbaijani)

* New translations views.md (Arabic)

* New translations webserver-setup.md (Arabic)

* New translations views.md (Bulgarian)

* New translations webserver-setup.md (Bulgarian)

* New translations views.md (Bosnian)

* New translations webserver-setup.md (Bosnian)

* New translations views.md (Croatian)

* New translations webserver-setup.md (Croatian)

* New translations views.md (Chinese Simplified)

* New translations webserver-setup.md (Chinese Simplified)

* New translations views.md (Danish)

* New translations webserver-setup.md (Danish)

* New translations views.md (Czech)

* New translations webserver-setup.md (Czech)

* New translations views.md (German)

* New translations webserver-setup.md (German)

* New translations webserver-setup.md (French)

* New translations views.md (French)

* New translations webserver-setup.md (Hungarian)

* New translations views.md (Hungarian)

* New translations webserver-setup.md (Greek)

* New translations views.md (Greek)

* New translations views.md (Italian)

* New translations webserver-setup.md (Italian)

* New translations Phalcon_Paginator_Factory.md (Azerbaijani)

* New translations webserver-setup.md (Indonesian)

* New translations Phalcon_Crypt_Mismatch.md (Azerbaijani)

* New translations views.md (Indonesian)

* New translations Phalcon_Paginator_Factory.md (Bosnian)

* New translations views.md (Polish)

* New translations webserver-setup.md (Polish)

* New translations views.md (Romanian)

* New translations webserver-setup.md (Romanian)

* New translations views.md (Portuguese)

* New translations webserver-setup.md (Portuguese)

* New translations crypt.md (Spanish)

* New translations Phalcon_Paginator_Factory.md (Arabic)

* New translations views.md (Spanish)

* New translations webserver-setup.md (Spanish)

* New translations Phalcon_Crypt_Mismatch.md (Arabic)

* New translations views.md (Russian)

* New translations webserver-setup.md (Russian)

* New translations views.md (Turkish)

* New translations webserver-setup.md (Turkish)

* New translations Phalcon_Crypt.md (Ukrainian)

* New translations Phalcon_Paginator_Factory.md (Turkish)

* New translations views.md (Thai)

* New translations webserver-setup.md (Thai)

* New translations views.md (Ukrainian)

* New translations webserver-setup.md (Ukrainian)

* New translations Phalcon_Crypt_Mismatch.md (Bulgarian)

* New translations Phalcon_Paginator_Factory.md (Ukrainian)

* New translations Phalcon_Paginator_Factory.md (Chinese Simplified)

* New translations Phalcon_Crypt_Mismatch.md (Chinese Simplified)

* New translations Phalcon_Crypt.md (Vietnamese)

* New translations Phalcon_Crypt_Mismatch.md (Bosnian)

* New translations Phalcon_Paginator_Factory.md (Vietnamese)

* New translations Phalcon_Paginator_Factory.md (Bulgarian)

* New translations Phalcon_Loader.md (Vietnamese)

* New translations Phalcon_Http_Response_Cookies.md (Vietnamese)

* New translations Phalcon_Http_Cookie.md (Vietnamese)

* New translations Phalcon_Http_Response.md (Vietnamese)

* New translations Phalcon_Mvc_Model.md (Vietnamese)

* New translations Phalcon_Crypt_Mismatch.md (Czech)

* New translations Phalcon_Paginator_Factory.md (Czech)

* New translations Phalcon_Paginator_Factory.md (Croatian)

* New translations Phalcon_Crypt_Mismatch.md (Croatian)

* New translations Phalcon_Paginator_Factory.md (French)

* New translations Phalcon_Crypt_Mismatch.md (French)

* New translations Phalcon_Crypt_Mismatch.md (Danish)

* New translations Phalcon_Paginator_Factory.md (Danish)

* New translations Phalcon_Paginator_Factory.md (Greek)

* New translations Phalcon_Crypt_Mismatch.md (Greek)

* New translations Phalcon_Paginator_Factory.md (German)

* New translations Phalcon_Crypt_Mismatch.md (German)

* New translations Phalcon_Paginator_Factory.md (Indonesian)

* New translations Phalcon_Crypt_Mismatch.md (Indonesian)

* New translations Phalcon_Crypt_Mismatch.md (Japanese)

* New translations Phalcon_Paginator_Factory.md (Japanese)

* New translations Phalcon_Crypt_Mismatch.md (Korean)

* New translations Phalcon_Paginator_Factory.md (Korean)

* New translations Phalcon_Paginator_Factory.md (Italian)

* New translations Phalcon_Crypt_Mismatch.md (Italian)

* New translations Phalcon_Crypt_Mismatch.md (Polish)

* New translations Phalcon_Crypt.md (Thai)

* New translations Phalcon_Crypt_Mismatch.md (Turkish)

* New translations Phalcon_Paginator_Factory.md (Thai)

* New translations Phalcon_Crypt_Mismatch.md (Thai)

* New translations Phalcon_Http_Response_Cookies.md (Spanish)

* New translations Phalcon_Http_Cookie.md (Spanish)

* New translations Phalcon_Http_Response.md (Spanish)

* New translations Phalcon_Loader.md (Spanish)

* New translations Phalcon_Mvc_Model.md (Spanish)

* New translations seo.json (Russian)

* New translations Phalcon_Crypt_Mismatch.md (Spanish)

* New translations filter.md (Arabic)

* New translations filter.md (Bosnian)

* New translations filter.md (Azerbaijani)

* New translations filter.md (Chinese Simplified)

* New translations filter.md (Bulgarian)

* New translations filter.md (Czech)

* New translations filter.md (Croatian)

* New translations filter.md (French)

* New translations filter.md (German)

* New translations filter.md (Danish)

* New translations filter.md (Greek)

* New translations filter.md (Indonesian)

* New translations filter.md (Japanese)

* New translations Phalcon_Crypt_Mismatch.md (Hungarian)

* New translations filter.md (Polish)

* New translations db-models-relationships.md (Spanish)

* New translations routing.md (Spanish)

* New translations views.md (Spanish)

* New translations Phalcon_Paginator_Factory.md (Hungarian)

* New translations db-models.md (Spanish)

* New translations devtools-installation.md (Spanish)

* New translations filter.md (Spanish)

* New translations filter.md (Russian)

* New translations filter.md (Turkish)

* New translations filter.md (Thai)

* New translations filter.md (Ukrainian)

* New translations Phalcon_Crypt_Mismatch.md (Persian)

* New translations Phalcon_Crypt.md (Polish)

* New translations Phalcon_Paginator_Factory.md (Polish)

* New translations Phalcon_Loader.md (Polish)

* New translations Phalcon_Http_Cookie.md (Polish)

* New translations Phalcon_Http_Response.md (Polish)

* New translations Phalcon_Http_Response_Cookies.md (Polish)

* New translations Phalcon_Loader.md (Romanian)

* New translations Phalcon_Http_Cookie.md (Romanian)

* New translations Phalcon_Http_Response.md (Romanian)

* New translations Phalcon_Http_Response_Cookies.md (Romanian)

* New translations Phalcon_Crypt_Mismatch.md (Portuguese)

* New translations Phalcon_Crypt.md (Romanian)

* New translations Phalcon_Crypt_Mismatch.md (Romanian)

* New translations Phalcon_Mvc_Model.md (Romanian)

* New translations Phalcon_Paginator_Factory.md (Romanian)

* New translations Phalcon_Paginator_Factory.md (Spanish)

* New translations Phalcon_Http_Response_Cookies.md (Turkish)

* New translations Phalcon_Mvc_Model.md (Turkish)

* New translations Phalcon_Crypt_Mismatch.md (Vietnamese)

* New translations Phalcon_Crypt_Mismatch.md (Ukrainian)

* New translations volt.md (Japanese)

* New translations unit-testing.md (Japanese)

* New translations views.md (Japanese)

* New translations webserver-setup.md (Japanese)

* New translations filter.md (Korean)

* New translations views.md (Korean)

* New translations webserver-setup.md (Korean)

* New translations filter.md (Italian)

* New translations filter.md (Hungarian)

* New translations filter.md (Romanian)

* New translations Phalcon_Crypt.md (Russian)

* New translations Phalcon_Crypt_Mismatch.md (Russian)

* New translations db-models-metadata.md (Spanish)

* New translations Phalcon_Paginator_Factory.md (Russian)

* New translations views.md (Persian)

* New translations webserver-setup.md (Persian)

* New translations Phalcon_Paginator_Factory.md (Persian)

* New translations filter.md (Persian)

* New translations Phalcon_Paginator_Factory.md (Portuguese)

* New translations filter.md (Portuguese)

* New translations Phalcon_Crypt.md (Turkish)

* New translations filter.md (Vietnamese)

* New translations events.md (Vietnamese)

* New translations crypt.md (Vietnamese)

* New translations webserver-setup.md (Vietnamese)

* New translations views.md (Vietnamese)

* New translations loader.md (Vietnamese)

* New translations request.md (Vietnamese)

* New translations loader.md (Spanish)

* New translations filter.md (Spanish)

* New translations request.md (Spanish)

* New translations webserver-setup.md (Spanish)

* New translations translate.md (Japanese)

* New translations tutorial-rest.md (Azerbaijani)

* New translations tutorial-rest.md (Arabic)

* New translations tutorial-rest.md (Bulgarian)

* New translations tutorial-rest.md (Bosnian)

* New translations tutorial-rest.md (Croatian)

* New translations tutorial-rest.md (Chinese Simplified)

* New translations tutorial-rest.md (Danish)

* New translations tutorial-rest.md (Czech)

* New translations tutorial-rest.md (German)

* New translations tutorial-rest.md (French)

* New translations tutorial-rest.md (Hungarian)

* New translations tutorial-rest.md (Greek)

* New translations tutorial-rest.md (Italian)

* New translations devtools-usage.md (Japanese)

* New translations environments-docker.md (Japanese)

* New translations filter.md (Japanese)

* New translations cache.md (Japanese)

* New translations config.md (Japanese)

* New translations tutorial-rest.md (Indonesian)

* New translations tutorial-rest.md (Persian)

* New translations image.md (Japanese)

* New translations webserver-setup.md (Japanese)

* New translations webserver-wamp.md (Japanese)

* New translations volt.md (Japanese)

* New translations loader.md (Japanese)

* New translations logging.md (Japanese)

* New translations namespaces.md (Japanese)

* New translations views.md (Japanese)

* New translations sidebar.md (Japanese)

* New translations tag.md (Japanese)

* New translations tutorial-rest.md (Japanese)

* New translations unit-testing.md (Japanese)

* New translations validation.md (Japanese)

* New translations tutorial-rest.md (Korean)

* New translations tutorial-rest.md (Portuguese)

* New translations tutorial-rest.md (Polish)

* New translations tutorial-rest.md (Russian)

* New translations tutorial-rest.md (Romanian)

* New translations tutorial-rest.md (Thai)

* New translations filter.md (Spanish)

* New translations crypt.md (Spanish)

* New translations tutorial-rest.md (Spanish)

* New translations views.md (Spanish)

* New translations tutorial-rest.md (Ukrainian)

* New translations tutorial-rest.md (Turkish)

* New translations tutorial-rest.md (Vietnamese)
  • Loading branch information
niden committed Sep 21, 2018
1 parent 531de93 commit 0227791
Show file tree
Hide file tree
Showing 46 changed files with 1,211 additions and 1,158 deletions.
66 changes: 34 additions & 32 deletions ar/tutorial-rest.md
Expand Up @@ -169,57 +169,47 @@ When a defined route matches the requested URI then the application executes the

## Creating a Model

Our API provides information about `robots`, these data are stored in a database. The following model allows us to access that table in an object-oriented way. We have implemented some business rules using built-in validators and simple validations. Doing this will give us the peace of mind that saved data meet the requirements of our application. This model file should be placed in your `Models` folder.
Our API provides information about `robots`, these data are stored in a database. The following model allows us to access that table in an object-oriented way. We have implemented some business rules using built-in validators and simple validations. Doing this will give us the peace of mind that saved data meet the requirements of our application. This model file `Robots.php` should be placed in your `models` folder.

```php
<?php

namespace Store\Toys;

use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Message;
use Phalcon\Mvc\Model\Validator\Uniqueness;
use Phalcon\Mvc\Model\Validator\InclusionIn;
use Phalcon\Validation;
use Phalcon\Validation\Validator\Uniqueness;
use Phalcon\Validation\Validator\InclusionIn;

class Robots extends Model
{
public function validation()
{
// Type must be: droid, mechanical or virtual
$this->validate(
$validator = new Validation();

$validator->add(
'type',
new InclusionIn(
[
'field' => 'type',
'domain' => [
'droid',
'mechanical',
'virtual',
],
'Mechanical',
'Virtual',
'Droid',
]
]
)
);

// Robot name must be unique
$this->validate(
$validator->add(
'name',
new Uniqueness(
[
'field' => 'name',
'message' => 'The robot name must be unique',
]
)
);

// Year cannot be less than zero
if ($this->year < 0) {
$this->appendMessage(
new Message('The year cannot be less than zero')
);
}

// Check if any messages have been produced
if ($this->validationHasFailed() === true) {
return false;
}
return $this->validate($validator);
}
}
```
Expand Down Expand Up @@ -565,6 +555,20 @@ $app->delete(
);
```

## Creating database

Now we will create database for our application. Run SQL queries as follows:

CREATE DATABASE `robotics`;
CREATE TABLE `robotics`.`robots` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(200) COLLATE utf8_bin NOT NULL,
`type` varchar(200) COLLATE utf8_bin NOT NULL,
`year` smallint(2) unsigned NOT NULL,
PRIMARY KEY (`id`)
)


<a name='testing'></a>

## Testing our Application
Expand Down Expand Up @@ -616,23 +620,21 @@ Content-Type: text/html; charset=UTF-8
Insert a new robot:

```bash
curl -i -X POST -d '{"name":"C-3PO","type":"droid","year":1977}'
http://localhost/my-rest-api/api/robots
curl -i -X POST -d '{"name":"C-3PO","type":"Droid","year":1977}' http://localhost/my-rest-api/api/robots

HTTP/1.1 201 Created
Date: Tue, 21 Jul 2015 07:15:09 GMT
Server: Apache/2.2.22 (Unix) DAV/2
Content-Length: 75
Content-Type: text/html; charset=UTF-8

{"status":"OK","data":{"name":"C-3PO","type":"droid","year":1977,"id":"4"}}
{"status":"OK","data":{"name":"C-3PO","type":"Droid","year":1977,"id":"4"}}
```

Try to insert a new robot with the name of an existing robot:

```bash
curl -i -X POST -d '{"name":"C-3PO","type":"droid","year":1977}'
http://localhost/my-rest-api/api/robots
curl -i -X POST -d '{"name":"C-3PO","type":"Droid","year":1977}' http://localhost/my-rest-api/api/robots

HTTP/1.1 409 Conflict
Date: Tue, 21 Jul 2015 07:18:28 GMT
Expand All @@ -656,13 +658,13 @@ Content-Length: 104
Content-Type: text/html; charset=UTF-8

{"status":"ERROR","messages":["Value of field 'type' must be part of
list: droid, mechanical, virtual"]}
list: Droid, Mechanical, Virtual"]}
```

Finally, delete a robot:

```bash
curl -i -X DELETE http://localhost/my-rest-api/api/robots/4
curl -i -X DELETE http://localhost/my-rest-api/api/robots/1

HTTP/1.1 200 OK
Date: Tue, 21 Jul 2015 08:49:29 GMT
Expand Down
66 changes: 34 additions & 32 deletions az/tutorial-rest.md
Expand Up @@ -169,57 +169,47 @@ When a defined route matches the requested URI then the application executes the

## Creating a Model

Our API provides information about `robots`, these data are stored in a database. The following model allows us to access that table in an object-oriented way. We have implemented some business rules using built-in validators and simple validations. Doing this will give us the peace of mind that saved data meet the requirements of our application. This model file should be placed in your `Models` folder.
Our API provides information about `robots`, these data are stored in a database. The following model allows us to access that table in an object-oriented way. We have implemented some business rules using built-in validators and simple validations. Doing this will give us the peace of mind that saved data meet the requirements of our application. This model file `Robots.php` should be placed in your `models` folder.

```php
<?php

namespace Store\Toys;

use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Message;
use Phalcon\Mvc\Model\Validator\Uniqueness;
use Phalcon\Mvc\Model\Validator\InclusionIn;
use Phalcon\Validation;
use Phalcon\Validation\Validator\Uniqueness;
use Phalcon\Validation\Validator\InclusionIn;

class Robots extends Model
{
public function validation()
{
// Type must be: droid, mechanical or virtual
$this->validate(
$validator = new Validation();

$validator->add(
'type',
new InclusionIn(
[
'field' => 'type',
'domain' => [
'droid',
'mechanical',
'virtual',
],
'Mechanical',
'Virtual',
'Droid',
]
]
)
);

// Robot name must be unique
$this->validate(
$validator->add(
'name',
new Uniqueness(
[
'field' => 'name',
'message' => 'The robot name must be unique',
]
)
);

// Year cannot be less than zero
if ($this->year < 0) {
$this->appendMessage(
new Message('The year cannot be less than zero')
);
}

// Check if any messages have been produced
if ($this->validationHasFailed() === true) {
return false;
}
return $this->validate($validator);
}
}
```
Expand Down Expand Up @@ -565,6 +555,20 @@ $app->delete(
);
```

## Creating database

Now we will create database for our application. Run SQL queries as follows:

CREATE DATABASE `robotics`;
CREATE TABLE `robotics`.`robots` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(200) COLLATE utf8_bin NOT NULL,
`type` varchar(200) COLLATE utf8_bin NOT NULL,
`year` smallint(2) unsigned NOT NULL,
PRIMARY KEY (`id`)
)


<a name='testing'></a>

## Testing our Application
Expand Down Expand Up @@ -616,23 +620,21 @@ Content-Type: text/html; charset=UTF-8
Insert a new robot:

```bash
curl -i -X POST -d '{"name":"C-3PO","type":"droid","year":1977}'
http://localhost/my-rest-api/api/robots
curl -i -X POST -d '{"name":"C-3PO","type":"Droid","year":1977}' http://localhost/my-rest-api/api/robots

HTTP/1.1 201 Created
Date: Tue, 21 Jul 2015 07:15:09 GMT
Server: Apache/2.2.22 (Unix) DAV/2
Content-Length: 75
Content-Type: text/html; charset=UTF-8

{"status":"OK","data":{"name":"C-3PO","type":"droid","year":1977,"id":"4"}}
{"status":"OK","data":{"name":"C-3PO","type":"Droid","year":1977,"id":"4"}}
```

Try to insert a new robot with the name of an existing robot:

```bash
curl -i -X POST -d '{"name":"C-3PO","type":"droid","year":1977}'
http://localhost/my-rest-api/api/robots
curl -i -X POST -d '{"name":"C-3PO","type":"Droid","year":1977}' http://localhost/my-rest-api/api/robots

HTTP/1.1 409 Conflict
Date: Tue, 21 Jul 2015 07:18:28 GMT
Expand All @@ -656,13 +658,13 @@ Content-Length: 104
Content-Type: text/html; charset=UTF-8

{"status":"ERROR","messages":["Value of field 'type' must be part of
list: droid, mechanical, virtual"]}
list: Droid, Mechanical, Virtual"]}
```

Finally, delete a robot:

```bash
curl -i -X DELETE http://localhost/my-rest-api/api/robots/4
curl -i -X DELETE http://localhost/my-rest-api/api/robots/1

HTTP/1.1 200 OK
Date: Tue, 21 Jul 2015 08:49:29 GMT
Expand Down

0 comments on commit 0227791

Please sign in to comment.