Json object to php: PHP: json_decode — Manual

Представление объекта

JSON с использованием PHP. Как мне…?

туннель

#1

У меня есть объект класса A, который имеет расширенные отношения «многие ко многим», имеет много объектов класса B. Я хотел бы получить JSON-представление объекта A и всех дочерних объектов, их свойств и т. д. Что такое лучший способ сделать это?

У меня уже есть ссылка на объект класса A как $obj в PHP. Пробовал документацию,

спасибо!

1 Нравится

mshn

#2

Итак, я создал для этого пользовательские модели и реализовал для них ассемблеры (Assembler Pattern). Затем я создал нормализатор symfony для каждого из моих объектов данных, куда я внедряю ассемблер. Я позволяю ассемблеру работать, а затем нормализую объект. Это позволило сериализатору symfony сериализовать данный объект данных во что угодно.

Вам поможет? Я уверен, что есть и другие подходы, но это был мой.

туннель

#3

Очень интересно… но для такого новичка в PHP, как я, это звучит как амбициозное предприятие, и я не знаю, как этот подход повлияет на то, как мы используем Pimcore для наших процессов… тем не менее, я был бы рад, если бы вы может указать мне на ресурсы, пока я обдумываю этот подход:

  1. Шаблон ассемблера для объектов Pimcore, созданных с помощью внешнего интерфейса
  2. Нанесение рисунка на объект

спасибо!

мсфн

#4

Я нашел эту статью, она близка к тому, что я делаю, может быть, она поможет вам?
Думай, чтобы кодировать — 2 апреля 18

Symfony 4 REST API, часть 2 — Объект передачи данных — Think To Code

В первой части мы узнали об REST. Что такое REST и как реализовать простой Restful API с […]0005

В основном речь идет о создании структуры объекта, близкой к вашему json. Как вы узнали, довольно сложно сериализовать объект данных в json или установить его из json. Класс ассемблера в основном владеет ноу-хау о преобразовании объекта данных в dto и dto обратно в объект данных — если вам это нужно.

symfony.com

Как создать собственный нормализатор (Symfony Docs)

Как создать собственный нормализатор: компонент Serializer использует нормализаторы для преобразования любых данных в массив. Компонент предоставляет несколько встроенных нормализаторов, но вам может понадобиться создать свой. ..

Вот дополнительная информация о пользовательском нормализаторе!

ласота

#5

Внедрение Fractal мне помогло. Вы можете создавать классы преобразования как для родителя, так и для его потомков. Добавление фильтра twig для вызова преобразований очень помогло с передачей объектов нашим компонентам vuejs.

https://fractal.thephpleague.com/

JSON против PHP | Каковы различия?

Home

Приложение и данные

Языки и рамки

Языки

Обновлены

28 октября, 2022

JSON1.7K Stacks

PHP126.7K Stacks

JSON


STACKS1.7K1.7K1.7K1. 7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K1.7K

.

. 4K

+ 1

голоса8

PHP


Stacks126.7K

Последователи 69K

+ 1

голоса4.6K

Добавить инструмент

JSON VS PHP: What The Difience??

JSON: Облегченный формат обмена данными . Нотация объектов JavaScript — это облегченный формат обмена данными. Людям легко читать и писать. Машины легко анализируют и генерируют. Он основан на подмножестве языка программирования JavaScript; PHP: Популярный язык сценариев общего назначения, особенно подходящий для веб-разработки . Быстрый, гибкий и прагматичный, PHP поддерживает все, от вашего блога до самых популярных веб-сайтов в мире.

JSON и PHP относятся к категории «Языки» технологического стека.

PHP — это инструмент с открытым исходным кодом, получивший 23,9 тыс. звезд GitHub и 5,53 тыс. форков GitHub. Вот ссылка на репозиторий PHP с открытым исходным кодом на GitHub.

Facebook , Slack и Lyft — некоторые из популярных компаний, использующих PHP, тогда как JSON используется Redsift , Mon Style и Mercedes-Benz.io GmbH . PHP имеет более широкое одобрение, упоминается в 8910 стеки компании и 2939 стеки разработчиков; по сравнению с JSON, который указан в 20 стеках компаний и 104 стеков разработчиков.

Советы по JSON и PHP

Апостолис Димитриу

| 6 голосов · 296,1 тыс. просмотров

Нужен совет

по

Node.jsPHP

и

Python

Привет, у меня есть проект, и мне нужна помощь. Прежде всего, я знаю, что все зависит от личных предпочтений, но я новичок в бэкенде. Итак, я пытаюсь выяснить, какой язык лучше, например, для аутентификации пользователей и взаимодействия между пользователями. Кроме того, я не знаю, какой фреймворк лучше для этой работы. Моей первой мыслью было использовать PHP, но после некоторых исследований в Интернете я склоняюсь к Laravel. Буду признателен, если у вас есть для меня какой-нибудь совет.

#newbie

Подробнее

Ответов (7)

Эзра Файет

FullStack Dev · | 11 голосов «за» · 247,3 тыс. просмотров

Рекомендуют

Node.jsPHP

Первые мысли:
* Как новичок, вам нужно сначала понять концепции, все языки хороши, у каждого своя философия, каждый лучше подходит для конкретной ситуации. Сначала изучите концепции, сделайте что-нибудь, тогда вы поймете разницу между ними и почему для задачи следует предпочесть одну, а не другую.
* Как руководитель проекта вы хотите, чтобы ваш проект был завершен. Вы заблудитесь во всех возможных решениях (и это хорошо), но не заблудитесь слишком далеко. Очень часто я вижу, как люди теряются в этих дебатах и ​​никогда ничего не достигают, например, кто-то, пишущий книгу, все еще будет выбирать шрифт через 6 месяцев (мы все сделали, что это нормально, но мы должны это осознать)

Скорее всего, ваш проект будет одинаково хорош в любых стеках. Я слышал интервью с кем-то из Uber, который сказал что-то вроде того, что они начали с python, перешли на node, вернулись к python и ушли, а теперь с микросервисами они могут иметь все это вместе.

Последнее замечание: насколько я знаю, Laravel — это фреймворк для PHP, так что это ЕСТЬ PHP. Так же, как Symphony для PHP, Express для Node.js, Koa для Node.js, Flask для Python…

Теперь, чтобы ответить на ваш вопрос:

  • У PHP большое сообщество, с ним легко начать, и вы обязательно изучите настоящую объектно-ориентированную структуру
  • Node. js также имеет большое сообщество, не волнуйтесь, найти помощь будет так же просто. С ним труднее начать, но, с моей точки зрения, гораздо проще продолжать использовать его в долгосрочной перспективе. Почему ? Потому что запустить новый проект очень просто, и он выполняет javascript. Как это хорошо? Потому что есть вероятность, что ваш фронт также будет использовать javascript (React.js / View.js чертовски хороши). Благодаря этому вы сможете лучше освоить язык, потому что будете использовать его весь день (и поначалу знание одного языка более ценно, чем едвае знание двух), и вам не придется переключать языки в голове при кодировании. А связь между фронтом и бэком будет в json… Что безумно близко к javascript.

Александр прав, если вы пойдете с PHP, сначала потратьте время на то, чтобы сделать что-то самостоятельно, например, создать свой собственный MVC, польза огромна, а риск заключается в том, что вы никогда не сможете понять, что происходит на более глубоком уровне. (хотя в какой-то момент вы можете переключиться на фреймворк). Он также прав в выборе строго типизированного языка, проблема в том, что javascript — нет. Вот почему, если вы выберете node, когда будете чувствовать себя уверенно, добавьте typesscript.

Надеюсь поможет, удачи

Подробнее

Октавиан Иримия

Инженер-программист · | 9 голосов · 245,9 тыс. просмотров

Рекомендовано

PHP

Краткий ответ, если это веб-проект (а я думаю, что это так), используйте PHP, и вы сможете интегрировать службы NodeJs позже.

@adzaria (Эзра Файет) дал отличный ответ, и я хотел бы выделить первую часть: Как новичок, вам нужно сначала понять концепции . Для меня это означает понимать веб, как работают серверы и запросы, API и некоторые другие.

Теперь я хотел бы добавить несколько вещей, так что это длинный ответ :

Почему PHP?

  • Все знают о сообществе — PHP намного старше, поэтому вы найдете много ресурсов, и я говорю не только об обучении, но и о множестве полезных инструментов и пакетов
  • PHP отлично подходит для ООП — не идеально, но с PHP7 стало отлично — и если вы новичок, вы хотите знать хорошее ООП для своего будущего. Скажем, ООП в JavaScript немного странный; Не буду вдаваться в подробности, но, скажем так, «не по правилам». Вы все еще можете изучать JavaScript для своего внешнего интерфейса

Почему не Python?
Python стал популярным благодаря ИИ — не используйте PHP для ИИ и не используйте Python для веб-приложений. Здесь я могу многое уточнить, но, думаю, вы поняли суть.

Почему не NodeJs?

  • NodeJs стал популярным благодаря сокетам — и он отлично работает, но как сервис
  • Попробуйте найти хороший и недорогой хостинг для NodeJ. Как насчет Python?
  • Я бы не стал игнорировать проблемы с безопасностью, которые у него были и которые могут появиться. PHP старше и, следовательно, мудрее 🙂

Теперь о структуре… это учебный проект или что-то, что вам нужно сделать быстро? Мой совет — начать с небольшого проекта и не использовать какой-либо фреймворк . Однако вы можете использовать пакеты и вдохновляться архитектурой фреймворка — Laravel — хороший образец для подражания.

Почему бы не начать большой проект? Вы будете отвлекаться, углубляться в детали и дизайн продукта и испугаться или граничить и бросить это. Для вашего проекта нужен MVP — список минимально необходимых функций что положишь на бумагу — то и заполнишь. После этого вы можете улучшить.

Удачи!

Подробнее

somes kumar k

Член технического персонала Manage Engine, подразделение Zoho Corp · | 3 голоса «за» · 242,8 тыс. просмотров

Рекомендуют

Node.js

вы можете выбрать Node.js
Вот мои точки

Node.js создан поверх chrome v8 и работает на неблокирующем вводе-выводе.
Node.js имеет огромное сообщество и отличные пакеты (npm), которые помогут вам в большинстве случаев и ускорят разработку.
Node.js был принят многими многодолларовыми компаниями
Надеюсь, это поможет😊

Подробнее

Александр Сантос

Fullstack Developer в 3CON · | 2 голоса «за» · 238,7 тыс. просмотров

Рекомендуют

PHP

Причина, по которой я выбрал PHP, заключается в количестве контента, который можно легко найти в Интернете.
Как вы указали, будучи новичком, я думаю, что более зрелый язык был бы лучше. И это еще одна причина для использования PHP.

Python прост и «зрел», но его может быть немного сложно понять, если вы новичок. Python опирается на сложную абстракцию, и в этом причина его простоты. Python — это язык, на котором «легко играть, но трудно освоить», я никогда не рекомендую его новичкам. Кроме того, одна [может быть, личная] причина, по которой я не люблю использовать Python в качестве серверной части, заключается в следующем: Python очень ориентирован на данные. Поэтому, если ваше приложение ориентировано на бизнес-логику, Python не очень подходит. И это становится преимуществом, если ваше приложение ориентировано на статистику, ориентировано на данные или что-то в этом роде, у Python есть огромное преимущество среди всех других языков благодаря множеству замечательных инструментов, созданных сообществом.

Что касается Node, он похож на PHP, но менее зрелый. Найти инструменты, которые могут помочь вам, например, абстрагировать логику подключения к базе данных, так же просто, как PHP. Но найти контент, ориентированный на архитектуру, более продвинутые концепции, намного сложнее. При этом в сообществе Laravel, например, есть много материалов, связанных с этими концепциями.

Тем не менее, если вы действительно новичок, я не рекомендую использовать Laravel с PHP. Сначала делайте что-то на простом PHP, поймите причину использования фреймворков и мотивацию Laravel.

Кроме того, сначала рассмотрите язык со строгой типизацией, он считается более дидактичным, но менее гибким.

Подробнее

Варун С

| 2 голоса «за» · 216,1 тыс. просмотров

Рекомендуют

Node.jsPHPPython

Вы не можете выбирать между Python | PHP | NodeJS, так как они совершенно для разных целей.

С высоты птичьего полета

Python — Крупномасштабные проекты и если вы хотите работать в крупной ИТ-компании.

Node.JS — Огромные вычислительные проекты и, если вы хотите, работу в стартапе Силиконовой долины.

PHP — рентабельный и если вы хотите начать бизнес в ближайшем будущем.

Подробнее

Тарун Батра

Старший разработчик программного обеспечения в Okta · | 2 голоса «за» · 231,3 тыс. просмотров

Рекомендовано

DjangoPython

Python, PHP и Node.js можно использовать для создания хорошего сложного программного обеспечения. Есть много примеров подобных приложений, построенных на всех из них. Если бы мне нужно было выбрать один, я бы посоветовал рассмотреть Python и Django. На основе этого стека довольно легко разрабатывать веб-приложения. Масштабирование и поддержка приложения также не должны быть проблемой, учитывая, что в Интернете доступно множество ресурсов.

Пакеты PyPi декодированы для разработчиков npm

Подробнее

Angel Hurtado

| 2 голосов · 235,1 тыс. просмотров

Рекомендуют

DjangoPython

Я использовал Laravel, но с Django вы можете разрабатывать быстрее, так как аутентификация и панель администратора настраиваются из коробки. Он использует SQLite по умолчанию, и вам не придется беспокоиться о базе данных в начале

Подробнее

Dhinesh Ram

архитектор · | 7 голосов · 224,9 тыс. просмотров

Нужен совет

по

JSON

и

Python

Привет. В настоящее время у меня есть требование, согласно которому я должен создать новый файл JSON на основе входного файла CSV, проверить сгенерированный файл JSON и загрузить файл JSON в приложение (которое работает в AWS) с помощью API.
Пожалуйста, предложите лучший язык, который может удовлетворить вышеуказанное требование.
Я чувствую, что Python будет лучше, но я не уверен в обосновании того, почему именно python. Можете ли вы высказать свое мнение по этому поводу?

Подробнее

Ответов (3)

Ник Батлин

| 3 голоса «за» · 211,3 тыс. просмотров

Рекомендуют

Python

Python очень гибкий и определенно справится с задачей (хотя на самом деле с этой задачей справится любой язык!). В Python встроено несколько хороших библиотек, а также несколько сторонних библиотек, которые могут здесь помочь.
1. Конвертировать CSV -> JSON
2. Проверка по схеме
3. Развертывание на AWS

  1. Встроенные библиотеки включают библиотеки json и csv, и, в зависимости от сложности файла csv, конвертировать довольно просто:
 импорт CSV
импортировать json
с open("your_input.csv", "r") как f:
    csv_as_dict = список (csv. DictReader (f)) [0]
с open("your_output.json", "w") как f:
    json.dump(csv_as_dict, f)
 
  1. Часть проверки хорошо обрабатывается этой библиотекой: https://pypi.org/project/jsonschema/
    Это позволяет вам создать схему и проверить, работает ли то, что вы создали, для того, что вы хотите сделать. Он основан на стандарте схемы json, что позволяет аннотировать и проверять любой json 9.0005

  2. Это библиотека AWS для автоматизации загрузки — или практически любых действий с AWS — из вашей кодовой базы: https://aws.amazon.com/sdk-for-python/
    Это будет обрабатывать аутентификацию в AWS и загрузку/развертывание файла туда, куда ему нужно.

Многое зависит от последних двух частей, но само преобразование действительно довольно аккуратное.

Подробнее

Дуг Шварц

| 1 голос «за» · 2090,1 тыс. просмотров

Рекомендуют

Golang

Я бы использовал Go. Поскольку файлы CSV являются плоскими (без иерархии), вы можете использовать пакет encoding/csv для чтения каждой строки и записи значений в формате JSON. См. https://medium.com/@ankurraina/reading-a-simple-csv-in-go-36d7a269cecd. Вам просто нужно заранее выяснить, какой ключ для каждой строки.

Подробнее

Max Musing

Основатель и генеральный директор BaseDash · | 1 голос «за» · 209,1 тыс. просмотров

Рекомендует

Node.js

at

BaseDash

Это вполне выполнимо на любом языке. Используйте то, что вам больше всего знакомо.

При этом необходимо использовать Node.js, поскольку преобразовать объект в JSON и наоборот очень просто.

Подробнее

Давид Джанашия

| 10 голосов «за» · 226,2 тыс. просмотров

Нужен совет

по

JavaPHP

и

Python

Всем привет!
Я только начал изучать веб-разработку, поэтому я новичок в этой области.
Я хотел бы спросить вас, какие инструменты наиболее актуальны и хороши для получения работы в средней и крупной компании.
Внешний интерфейс в основном не так сильно меняется со временем (как я понял, изучив некоторую информацию), поэтому мой вопрос касается инструментов внутреннего интерфейса. Какие бэкэнд-инструменты наиболее актуальны и востребованы средними и крупными компаниями (возможно, я ищу немедленную работу)?

Заранее спасибо
Davit

Подробнее

Ответов (4)

Пьеррик Мартос

Технический директор Akeneo · | 20 голосов «за» · 214,5 тыс. просмотров

Рекомендуют

Python

Обязательно используйте Python. Он везде используется веб-разработчиками для серверных разработок: API, серверная часть веб-сайта, рабочие… но также и учеными данных (множество ресурсов, моделей и библиотек на Python, это язык №1). Для веб-частей лучше всего использовать веб-фреймворк на Python: https://stackshare. io/microframeworks (Flask #2 и Django #3). Java — это хорошо, но тенденция невелика с точки зрения популярности среди разработчиков и технических лидеров.

Подробнее

Виджаякумар Раджагопал

Сотрудник Cognizant · | 15 голосов · 214,5 тыс. просмотров

Рекомендуют

Java

По моему опыту, на данный момент Java наиболее востребована для веб-разработки. микросервис развивается. с такими фреймворками, как spring boot, поддерживает быструю разработку. Spring boot + Docker + kubernetes — отличная комбинация.

Подробнее

шарик зама

Программист Стажер в EPAM Systems · | 5 голосов · 213,7 тыс. просмотров

Рекомендуют

JavaScript

Я рекомендую изучать HTML, CSS и JavaScript (самое важное). JavaScript составляет основу веб-разработки. И есть много популярных и широко используемых фреймворков, таких как Angular и React, которые в значительной степени полагаются на знание JavaScript. Количество вакансий намного больше, когда дело доходит до javascript.

Подробнее

Чатуранга Бандара

Технический директор Triolly · | 4 голосов · 213,7 тыс. просмотров

Рекомендуют

Python

Я бы порекомендовал Python в качестве языка программирования, а поскольку вы новый разработчик, для начала используйте Flask. Это дает вам четкое представление о веб-шаблонах, таких как REST, и поможет вам быстро приступить к работе. Тем не менее, я предлагаю вам прочитать и изучить интерфейсные технологии, такие как (React или Vue) и базы данных (SQL и NoSQL), а также, возможно, некоторые NodeJS. Сначала усвойте концепции (для которых Python идеально подходит), тогда язык как таковой не имеет большого значения.

Подробнее

Решения о JSON и PHP

Кайл Харрисон

Разработчик веб-приложений в Fortinet · | 17 голосов · 260,8 тыс. просмотров

Выбрали

Node.js

вместо

PHPPython

в

StreamRaising

, и, честно говоря, умопомрачительные скорости. PHP и Python — это формируемые инструменты, я выбрал Node из-за простоты Express как хорошей и производительной платформы шлюза API на стороне сервера, которая хорошо работает с Angular.

Подробнее

Октавиан Иримия

Инженер-программист · | 14 голосов · 246,5 тыс. просмотров

Выбрали

PHP

вместо

Python

в

Мой стек

И PHP, и Python бесплатны, но когда дело доходит до веб-разработки 11119 PHP. Нет сомнений в том, что Python — мощный язык, но он не оптимален для Интернета. У PHP есть проблемы… конечно; но так делает любой другой язык.

Еще одна причина, по которой я выбрал PHP, — это сообщество. У него одно из самых изобретательных сообществ из Интернета, и на то есть веская причина: он развивался вместе с самим языком.

Тот факт, что ООП так сильно эволюционировал в PHP, заставляет меня сохранить его навсегда 🙂

Подробнее

Роман Глушко

Машинное обучение, программная инженерия и жизнь · | 3 голоса «за» · 220,6 тыс. просмотров0005

in

tango

Я выбрал Golang в качестве языка для написания Tango, потому что с ним очень легко начать работу. Я также рассматривал Rust, но его кривая обучения намного выше, чем в Golang. Я чувствовал, что мне нужно будет потратить бесконечное количество времени, чтобы заставить приложение hello world работать в Rust. Хотя Golang прост в освоении, он по-прежнему показывает хорошую производительность, многопоточность из коробки и его интересно реализовывать.

Я также мог бы выбрать PHP и создать инструмент на основе phar, но я не был уверен, что это будет хороший выбор, так как я хочу масштабироваться, чтобы иметь возможность обрабатывать данные журнала доступа в ГБ

Подробнее

Мохамед Хассан

Инженер-программист YottaHQ Inc. · | 4 голосов · 105,1 тыс. просмотров

Выбрали

PHP

больше

GolangPython

PHP прост в освоении, его можно быстро приступить к работе, он доступен почти у всех хостинг-провайдеров, и вы можете легко найти разработчиков. У него есть несколько отличных фреймворков для создания вашего бэкэнда, таких как Symfony и Laravel. Тем не менее, это может быть сложно при управлении предприятием и требует некоторых корректировок, что очень рекомендуется для запуска нового проекта или стартапа.

Подробнее

Subhan Nooriansyah

Full Stack Mobile Developer в AISITS · | 1 Upvote · 114,7K просмотров

Shared Insights

на

NGINXPHPHTML5JAVASCRICTANDANDOROD OS

AT

AISITS

(

WebSocket или Server Service

)

Websocke Trend Trending Thergin Thencome, но Thergy Thengrond Thengrond, но Thergy Thengrond Thengrond, но Threcocke Thenconcocke Thengrond, но Threcocke Thengrond, но это Trender, но это технология. с Websocket (WS) — это событие, отправленное сервером (SSE). В этом методе используется аналогичный тип содержимого, SSE используется для потока текста/событий, а WS используется для двоичного или текстового/октетного потока.

Отправляются оба разных метода. WS — это ненаправленная отправка данных как клиента, так и сервера, а SSE — это любые данные на сервере, которые будут переданы клиенту.

Подробнее

Получите консультацию от разработчиков вашей компании с помощью StackShare Enterprise. Зарегистрируйтесь в StackShare Enterprise.

Подробнее

Плюсы JSON

Плюсы PHP

  • Широкая поддержка

  • Простой

  • Large community

  • Open source

  • Easy deployment

  • Great frameworks

  • The best glue on the web

  • Continual improvements

  • Good old web

  • Web Foundation

  • Пакеты сообщества

  • Поддержка инструментов

  • Используется WordPress

  • Отличная документация

  • Used by Facebook

  • Because of Symfony

  • Dynamic Language

  • Cheap hosting

  • Easy to learn

  • Awesome Language and easy to implement

  • Very powerful web язык

  • Быстрая разработка

  • Composer

  • Гибкость, синтаксис, расширяемость

  • Благодаря Laravel

  • Easiest deployment

  • Fastestest Time to Version 1. 0 Deployments

  • Worst popularity quality ratio

  • Short development lead times

  • Readable Code

  • Most of the web uses it

  • Быстрее, чем когда-либо

  • Открытый исходный код и большое сообщество

  • Простой, гибкий, но масштабируемый

  • Открытый исходный код и отличный фреймворк

  • Лучшая электронная коммерция (Magento, Prestashop, Opencart и т. д.)

  • Все как по воздуху

  • Большое сообщество, простая установка, простота развертывания 905, развертывание

  • Простота в использовании и освоении

  • Недорогое владение

  • Простота в освоении, большое сообщество, множество фреймворков

  • У меня нет выбора 🙁

    9025 Отличный разработчик

  • 0005

  • Большая гибкость.