Skip to content

Commit

Permalink
Merge pull request cakephp#4819 from octisfall/3.0
Browse files Browse the repository at this point in the history
RU translations
  • Loading branch information
markstory authored Mar 14, 2017
2 parents 5a75876 + 69b090c commit fa70dc5
Show file tree
Hide file tree
Showing 3 changed files with 256 additions and 32 deletions.
12 changes: 6 additions & 6 deletions ru/contents.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

.. toctree::
:maxdepth: 3
:caption: Preface
:caption: Введение

intro
quickstart
Expand All @@ -19,7 +19,7 @@

.. toctree::
:maxdepth: 3
:caption: Getting Started
:caption: Начало работы

installation
development/configuration
Expand All @@ -32,7 +32,7 @@

.. toctree::
:maxdepth: 3
:caption: Using CakePHP
:caption: Использование CakePHP

controllers/components/authentication
bake
Expand All @@ -56,7 +56,7 @@

.. toctree::
:maxdepth: 3
:caption: Utility Classes
:caption: Вспомогательные классы

core-libraries/app
core-libraries/collections
Expand All @@ -72,7 +72,7 @@

.. toctree::
:maxdepth: 3
:caption: Plugins
:caption: Плагины

chronos
debug-kit
Expand All @@ -82,7 +82,7 @@

.. toctree::
:maxdepth: 3
:caption: Other
:caption: Прочее

core-libraries/global-constants-and-functions
appendices
Expand Down
133 changes: 130 additions & 3 deletions ru/intro/where-to-get-help.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,139 @@
Где получить помощь
###################

Официальный сайт CakePHP
========================

`https://cakephp.org <https://cakephp.org>`_

Официальный сайт CakePHP лучшее место для посещения. Он содержит ссылки на
часто используемые инструменты разработчика, видеоинструкции, загрузки и предоставляет
возможность внести пожертвование.

Кулинарная книга (The Cookbook)
===============================

`https://book.cakephp.org <https://book.cakephp.org>`_

Данное руководство - место,где вы можете найти ответы на большинство вопросов связанных с CakePHP.
Поэтому перед обращением к сообществу мы рекомендуем сначала обратиться к кулинарной книге,
поскольку ожидание ответа от поддержки может занять много времени.

Пекарня (The Bakery)
====================

`https://bakery.cakephp.org <https://bakery.cakephp.org>`_

Пекарня CakePHP - это центр обмена информацией, связанной с CakePHP. Там вы найдете
полезные статьи, различные руководства и примеры кода. После ознакомления с CakePHP,
вы можете авторизоваться и начать делиться своимим знаниями с сообществом, публикуя статьи.

Интерфейс программирования приложений (The API)
===============================================

`https://api.cakephp.org/ <https://api.cakephp.org/>`_

Разработчики ядра CakePHP предоставляют API (интерфейс программирования приложений),
здесь находится наиболее исчерпывающая документация, охватывающая все аспекты внутренней
работы CakePHP.

Тестовые случаи (The Test Cases)
================================

Если вам недостаточно информации, которую предоставляет API, вы можете посмотреть
исходный код тестовых случаев (Test cases), предоставляемых CakePHP. Исходный код
может служить хорошим примером использования функций и членов классов. ::

tests/TestCase/

Онлайн чат
==========

**IRC чат irc.freenode.net:**


- `#cakephp <irc://irc.freenode.net/cakephp>`_ -- Главный чат
- `#cakephp-docs <irc://irc.freenode.net/cakephp-docs>`_ -- Документация
- `#cakephp-bakery <irc://irc.freenode.net/cakephp-bakery>`_ -- Пекарня
- `#cakephp-fr <irc://irc.freenode.net/cakephp-fr>`_ -- Французский канал

Если у вас возникли проблемы, вы можете обратиться в главный чат. Как правило кто-нибудь
из `команды разработчиков <https://github.com/cakephp?tab=members>`_ находится в чате,
особенно в дневное время суток для западного полушария. Мы будем рады вас слышать
независимо от того, нужна ли вам помощь, хотите ли вы найти собеседников или пожертвовать
нам свой новый спортивный автомобиль.

.. _cakephp-official-communities:

Официальный форум CakePHP
=========================
`CakePHP официальный форум <http://discourse.cakephp.org>`_

Форум - место где вы можете получить помощь, предложить идею и поболтать
о CakePHP. Это идеальное место где можно быстро получить ответы на вопросы и помочь другим.
Присоединяйтесь к семье CakePHP, зарегистрировавшись на сайте.

Stackoverflow
=============

`https://stackoverflow.com/ <https://stackoverflow.com/questions/tagged/cakephp/>`_

Пометьте ваш вопрос тегом ``cakephp`` и номером используемой версии, чтобы дать возможность
пользователям stackoverflow помочь вам.

Где найти помощь на других языках
=================================

Бразилия, Португалия
--------------------

- `Brazilian CakePHP Community <http://cakephp-br.org>`_

Датский
-------

- `Danish CakePHP Slack Channel <https://cakesf.slack.com/messages/denmark/>`_

Французский
-----------

- `French CakePHP Community <http://cakephp-fr.org>`_

Немецкий
--------

- `German CakePHP Slack Channel <https://cakesf.slack.com/messages/german/>`_
- `German CakePHP Facebook Group <https://www.facebook.com/groups/146324018754907/>`_

Иранский
--------

- `Iranian CakePHP Community <http://cakephp.ir>`_

Голландский
-----------

- `Dutch CakePHP Slack Channel <https://cakesf.slack.com/messages/netherlands/>`_

Японский
--------

- `Japanese CakePHP Slack Channel <https://cakesf.slack.com/messages/japanese/>`_
- `Japanese CakePHP Facebook Group <https://www.facebook.com/groups/304490963004377/>`_

Португальский
-------------

- `Portuguese CakePHP Google Group <http://groups.google.com/group/cakephp-pt>`_

Испанский
---------

- `Spanish CakePHP Slack Channel <https://cakesf.slack.com/messages/spanish/>`_
- `Spanish CakePHP IRC Channel <irc://irc.freenode.net/cakephp-es>`_
- `Spanish CakePHP Google Group <http://groups.google.com/group/cakephp-esp>`_

.. meta::
:title lang=ru: Where to Get Help
:description lang=ru: Where to get help with CakePHP: The official CakePHP website, The Cookbook, The Bakery, The API, in the test cases, the IRC channel, The CakePHP Google Group or CakePHP Questions.
:keywords lang=ru: cakephp,cakephp help,help with cakephp,where to get help,cakephp irc,cakephp questions,cakephp api,cakephp test cases,open source projects,channel irc,code reference,irc channel,developer tools,test case,bakery
:title lang=ru: Где получить помощь
:description lang=ru: Где получить помощь CakePHP: официальный сайт CakePHP, The Cookbook, The Bakery, The API, in the test cases, the IRC channel, The CakePHP Google Group or CakePHP Questions.
:keywords lang=ru: cakephp,cakephp help,помошь cakephp,получить помощь,cakephp irc,cakephp вопрос,cakephp api,cakephp тестовые случаи,open source проекты,канал irc,code reference,irc channel,инструменты разработки,тестовый случай,пекарня
143 changes: 120 additions & 23 deletions ru/orm.rst
Original file line number Diff line number Diff line change
@@ -1,32 +1,129 @@
Database Access & ORM
#####################
Доступ к Базе Данных и объектно-реляционное отображение ORM
###########################################################

В CakePHP работа с данными из Базы Данных осуществляется с помощью двух основных
типов объектов. Первый тип - **repositories** (репозитории) или по другому **table objects**
(объекты таблицы). Эти объекты предоставляют доступ к наборам данных. Они позволяют сохранять
новые записи, редактировать/удалять существующие, определять отношения между данными и
выполнять различные массовые операции.
Второй тип объектов - **entities** (сущности). Сущности представляют собой конкретные отдельные
записи таблицы и позволяют работать со строкой таблицы как с объектом.

Эти два класса несут ответсвенность почти за все, что связано с обработкой ваших данных, например
валидация, взаимодействие с другими даными и управление информационными потоками данных в вашем
веб-приложении.

CakePHP имеет встроенное объектно-реляционное отображение **ORM** позволяющее работать с
реляционными Базами Данных, но, тем не менее, может быть раширено для поддержки альтернативных
Баз Данных.

The CakePHP ORM borrows ideas and concepts from both ActiveRecord and Datamapper
patterns. It aims to create a hybrid implementation that combines aspects of
both patterns to create a fast, simple to use ORM.

Before we get started exploring the ORM, make sure you :ref:`configure your
database connections <database-configuration>`.

.. note::
The documentation is not currently supported in Russian language for this
page.

Please feel free to send us a pull request on
`Github <https://github.com/cakephp/docs>`_ or use the **Improve This Doc**
button to directly propose your changes.
If you are familiar with previous versions of CakePHP, you should read the
:doc:`/appendices/orm-migration` for important differences between CakePHP 3.0
and older versions of CakePHP.

Quick Example
=============

To get started you don't have to write any code. If you've followed the :ref:`CakePHP
conventions for your database tables <model-and-database-conventions>`
you can just start using the ORM. For example if we wanted to load some data from our ``articles``
table we could do::

use Cake\ORM\TableRegistry;

$articles = TableRegistry::get('Articles');

$query = $articles->find();

foreach ($query as $row) {
echo $row->title;
}

Note that we didn't have to create any code or wire any configuration up.
The conventions in CakePHP allow us to skip some boilerplate code and allow the
framework to insert base classes when your application has not created
a concrete class. If we wanted to customize our ArticlesTable class adding some
associations or defining some additional methods we would add the following to
**src/Model/Table/ArticlesTable.php** after the ``<?php`` opening tag::

namespace App\Model\Table;

use Cake\ORM\Table;

class ArticlesTable extends Table
{

You can refer to the english version in the select top menu to have
information about this page's topic.
}

Table classes use the CamelCased version of the table name with the ``Table``
suffix as the class name. Once your class has been created you get a reference
to it using the :php:class:`~Cake\\ORM\\TableRegistry` as before::

use Cake\ORM\TableRegistry;

// Now $articles is an instance of our ArticlesTable class.
$articles = TableRegistry::get('Articles');

Now that we have a concrete table class, we'll probably want to use a concrete
entity class. Entity classes let you define accessor and mutator methods, define
custom logic for individual records and much more. We'll start off by adding the
following to **src/Model/Entity/Article.php** after the ``<?php`` opening tag::

namespace App\Model\Entity;

use Cake\ORM\Entity;

class Article extends Entity
{

}

Entities use the singular CamelCase version of the table name as their class
name by default. Now that we have created our entity class, when we
load entities from the database we'll get instances of our new Article class::

use Cake\ORM\TableRegistry;

// Now an instance of ArticlesTable.
$articles = TableRegistry::get('Articles');
$query = $articles->find();

foreach ($query as $row) {
// Each row is now an instance of our Article class.
echo $row->title;
}

CakePHP uses naming conventions to link the Table and Entity class together. If
you need to customize which entity a table uses you can use the
``entityClass()`` method to set a specific classname.

See the chapters on :doc:`/orm/table-objects` and :doc:`/orm/entities` for more
information on how to use table objects and entities in your application.

More Information
================

.. toctree::
:maxdepth: 2

orm/database-basics
orm/query-builder
orm/table-objects
orm/entities
orm/retrieving-data-and-resultsets
orm/validation
orm/saving-data
orm/deleting-data
orm/associations
orm/behaviors
orm/schema-system
console-and-shells/orm-cache
:maxdepth: 2

orm/database-basics
orm/query-builder
orm/table-objects
orm/entities
orm/retrieving-data-and-resultsets
orm/validation
orm/saving-data
orm/deleting-data
orm/associations
orm/behaviors
orm/schema-system
console-and-shells/orm-cache

0 comments on commit fa70dc5

Please sign in to comment.