10/02/2018 - SYMFONY
Bu örnekte, çok boyutlu karmaşık JSON isteğini JMSSerializerBundle kullanarak model classlar ile eşleştireceğiz. Verilerin serialiser kullanılarak modeller ile nasıl eşleştirildiklerini göstermeyeceğim, çünkü konuyla ilgili bu blogda çok örnek var bu nedenle diğer örneklere bakabilirsiniz.
Terminalde composer require jms/serializer-bundle
komutunu çalıştırmayı unutmayın.
{
"schedules": {
"Monday": [
{
"minute": "05",
"hour": "13"
},
{
"minute": "05",
"hour": "14"
},
{
"minute": "05",
"hour": "15"
}
],
"Sunday": [
{
"minute": "05",
"hour": "13"
}
]
}
}
declare(strict_types=1);
namespace AppBundle\Model;
use JMS\Serializer\Annotation as Serializer;
class Create
{
/**
* @Serializer\Type("array<string, array<AppBundle\Model\Schedule>>")
*/
public $schedules;
}
declare(strict_types=1);
namespace AppBundle\Model\FeedProvider;
use JMS\Serializer\Annotation as Serializer;
class Schedule
{
/**
* @Serializer\Type("string")
*/
public $minute;
/**
* @Serializer\Type("string")
*/
public $hour;
}
AppBundle\Model\Create Object
(
[schedules] => Array
(
[Monday] => Array
(
[0] => AppBundle\Model\Schedule Object
(
[minute] => 05
[hour] => 13
)
[1] => AppBundle\Model\Schedule Object
(
[minute] => 05
[hour] => 14
)
[2] => AppBundle\Model\Schedule Object
(
[minute] => 05
[hour] => 15
)
)
[Sunday] => Array
(
[0] => AppBundle\Model\Schedule Object
(
[minute] => 05
[hour] => 13
)
)
)
)