На PHP с 2008 г. ничего не делал, сейчас приходится вспоминать и нововведения изучать.
Я разработал свой подход для стилей компонентов, цвета в переменных(при изменении цвета переменной, цвет в компоненте также изменится), дизайн в скинах с описанием тегов. Как и говорил движок смотрит структуру xml формирует страницу и подключает только нужные стили, один файл для всего сайта с основной структурой и небольшой к каждой конкретной странице если пользователь её запросит.
Нет специального образования, корочек программиста. Раньше пытался устроится, без корочек бесполезно. Потом интереснее делать то, что хочется, а не под заказ. Начинается с какой нибудь бредовой идеи(типа этой:)) а потом постепенно создаётся что-то большое.
С моим сервером получилась следующая история. По началу хотел просто приложение для удобства сделать, конструкторам, мастерам, по номенклатуре изделия, размеры, материал и тд. чтобы открыл посмотрел чертёж, без наворотов простенькую, ничего же сложного. Для сети нужен обмен данными межу компами, сделал простенький сервер. Потом подумал, а не сделать ли чтобы сайты мог выдавать, а для генерации страниц надо язык, ну и базу бы. Так и слепил.
Сайт вот сделаю на своём фреймворке :), потом может какой проект на своём этом ПО потестирую...
_SP_, всего лишь участвуете только, не факт, что конструктором, но уважуха, разработка медицинских приборов дело достойное.
Я вот по большей части наверно разрушитель, нежели созидатель. Участвовал в изготовлении гироскопов для приборов наведения ракет земля-воздух, делал карданы для БТРов, приборы безопасности башенных и др. кранов. Наружная реклама: объёмные буквы, световые короба и др.
Программирование хобби, с детства увлекаюсь, много что написал, прикладные программки, движки сайтов, торговые роботы для трейдинга, правда пользовался только я и знакомые. Свой сервер, с своим языком программирования, мини базой данных, сырой ещё правда.
За всё сразу.
Что вы ими(и другими известными компаниями и продуктами) тычите? Если бы они что-то своё не делали, то ничего и не добились. Вы на себя посмотрите лучше, что вы сделали, делаете?
Никакой это не xslt.
Это просто xml, например:
<html frame="site"><menu Menu="horizontal"/></html>
Тут будет шаблон каркаса сайта в котором будет горизонтальное меню(навигация по сайту, настраиваться будет в админке)
1) В xml не будет никаких данных, это просто разметка(не как html, а указание на компоненты) того что пользователь хочет видеть на странице, поэтому такая структура будет не большой и время на её парсинг не значительное
2) xml выбран по двум причинам: в нём легко ориентироваться и теги с атрибутами не стандартизированы(можно придумывать свои)
3) Всю информацию о странице можно легко получить из одного файла такой структуры. Движок по этой структуре формирует страницу, и нужные стили, скрипты к этой странице.
Легко. Раньше же в MVC представлениях(нативных шаблонах) просто где нужен апплет делаешь его вызов, можно и с разными данными. Сейчас будет так же но в структуре xml.
Да, составить структуру в xml сможет любой(подготовлю инструкцию как это делать и админка для этого будет). А компоненты я и может другие захотят делать, кто знает php, html, css, js (инструкция как делать компоненты тоже будет).
PHP.
Заточено как раз под широкие задачи. Это будет своего рода IDE для создания сайтов. Вот вы говорите зачем придумывать велосипед если есть PHP практически шаблонизатор, куча фремворков и тд.
Приведу такое сравнение: Зачем тогда придумали языки высокого уровня C(C++), Pascal... и др. можно же на ассемблере писать, а ещё даже в ноликах и единицах. Эти языки упрощают написание программ, в них есть компоненты(уже готовые программы для той или иной задачи), которые просто добавляете и используете.
Так же и у меня, я упрощаю создание сайта до составления его структуры(своего рода язык высокого уровня), за разметку, данные отвечают компоненты, которые надо настроить или передать в них нужные параметры.
Взять ещё например bootstrap: это всего лишь файлы css и js. Вы хотите у себя на сайте красивую панель или меню, и вам надо с собой таскать ненужный хлам стилей и js которые не используются. Сейчас интернет стал более скоростным и дешёвым поэтому на это никто не обращает внимание, а это засорение дискового пространства пользователей. С другими фремворками, cms дела ещё хуже, не буду тут расписывать свои доводы, а то начнёте изрыгать из себя как я не прав.
Я давно не писал на php и запросы к базе. Сейчас приходится можно сказать заново учится, многое забылось, но основы то знаю.
Вчера начал делать админку и понял, что разделение шаблонов на маленькие кусочки это удобно для тех кто знает как делать такие шаблончики. Возможно если мой подход структуирования станет востребованным, то может сделаю версию для профи(сборка сайта из кусочков) и для простых пользователей.
Раньше у меня в MVC движке были аплеты(так их назвал), то есть директория в которой директории по названию какого либо апплета. В директории апплета находились шаблоны, стили и php(обработкик). Это удобно когда надо изменить что-то в апплете, добавить новый или удалить не нужный. Для добавления на страницу просто указываешь нужный апплет с параметрами и всё.
Сейчас хочу сделать так же. В структуре надо будет указать нужные узлы(или компоненты страницы), до этого надо указывать нужные шаблоны и данные, что для профи хорошо, но не для простых людей.
Поэтому сегодня буду заниматься переделкой. Далее опять возьмусь за админку.
Что касается ОРМ это надстройка для получения данных, которые могут браться из базы, файлов или с другого ресурса, хорошо для тех кто не умеют это делать сами. Я умею :) поэтому узлы или компоненты будут делаться без всякого ОРМ, что напрямую быстрее из базы или ещё от куда по необходимости получить данные.
Я же извинился. Эго чтоли выше бурдж-халифа..
Подскажите как вставить несколько строк в базу и если есть поле с заданным ключом, то заменить.
это просто вставить
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
возможно так?
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3) ON DUPLICATE KEY UPDATE `field` ='key',(4,5,6) ON DUPLICATE KEY UPDATE `field` ='key',(7,8,9) ON DUPLICATE KEY UPDATE `field` ='key';
нашёл ещё вариант
UPDATE table1 SET field1=ELT(FIELD(field2, 10,15,17,19), 11,16,18,20) WHERE field2 IN (10,15,17,19)
непонятно как использовать---------- Добавлено 03.11.2019 в 16:34 ----------Разобрался, может кому пригодится.
INSERT INTO users (listid,email,age,name) VALUES (3,'vit9@gmail.com',26,"Витя"),(3,'kat9@gmail.com',32,"Катя"),(3,'masha@gmail.com',29,"Маша"),(2,'vit9@gmail.com',25,"Витя"),ON DUPLICATE KEY UPDATE listid=VALUES(listid), email=VALUES(email), age=VALUES(age), name=VALUES(name);
Нужен уникальный ключ – MySQL позволяет указать несколько столбцов с помощью составного ключа, уникально идентифицирующего встречающиеся записи. Таким образом, мы либо изменим таблицу выше и добавим первичный составной ключ, либо зададим его сначала:
При запуске вставляются 3 новые первые строки, а последняя строка обновляется.
Sitealert, я признал свою ошибку, а вам всё равно позлорадствовать надо и унизить человека. Не ошибается тот кто ничего не делает :)
Давно уже освоил.
Прошу прощения. Но в ашан работать не пойду :) Несколько классов делал со статическими свойствами. Потом изменил чтобы при создании нового объекта у каждого были свои свойства, $this поставил, забыл, что к нестатическим надо обращаться $this->obj
Переделал класс
<?php// пространство имён движкаnamespace core;// Класс Объектовclass Objects{ public $obj=[]; // Получить объект public function __Get($nam){ return isset($this->obj[$nam])?$this->obj[$nam]:null; } // Добавить объект public function __Set($nam,$obj){ if(!isset($this->obj[$nam]))$this->obj[$nam]=$obj; } // Удалить объект public function Remove($nam){unset($this->obj[$nam]);}}?>
Наверно оно кокоино на меня подействовало :)