PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (4): [1] 2 3 4 »

> Найдено сообщений: 55
Быколай Отправлено: 08 Августа, 2013 - 09:39:35 • Тема: Как целиком сериализовать объект? • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1691
В моём случае задача такая: нужно установить и проверить некоторые свойства объекта перед сохранением. DelphinPRO, спасибо за наводку. Без цикла решил обойтись так:
PHP:
скопировать код в буфер обмена
  1.  
  2. public function serialize(){
  3.         if(is_null($this->_id)){
  4.                 $this->_id = time();
  5.         }              
  6.         return serialize(get_object_vars($this));
  7. }
  8.  
Быколай Отправлено: 07 Августа, 2013 - 22:08:29 • Тема: Как целиком сериализовать объект? • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1691
Добрый день.
Реализую стандартный интерфейс Serializable:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class obj implements Serializable{
  4.         protected $_id;
  5.         public $var = NULL;
  6.         public function serialize(){
  7.                 if(is_null($this->_id)){
  8.                         $this->_id = time();
  9.                 }
  10.                 return serialize($this);
  11.         }
  12.         public function unserialize($serialized){
  13.                 return unserialize($serialized);
  14.         }
  15. }
  16.  
  17. $obj = new obj();
  18. $obj->var = 'value';
  19. $ser = serialize($obj);
  20. var_dump($ser); // string(18) "C:3:"obj":4:{r:1;}"
  21.  

В документации приведён пример, в котором метод возвращает 1 сериализованное свойство. Собственно хотелось бы упаковывать объект целиком со всеми полями, и я, признаться обескуражен подобным поведением. Буду рад объяснениям почему так происходит и возможно ли данный интерфейс задействовать для сериализации всего объекта.
Быколай Отправлено: 04 Августа, 2013 - 21:32:43 • Тема: Вывод числа с определенным количеством знаков после запятой • Форум: Программирование на PHP

Ответов: 5
Просмотров: 3304
Имхо тут логичнее использовать number_format()
Быколай Отправлено: 28 Июня, 2012 - 09:52:05 • Тема: введение в SSL • Форум: Работа с сетью

Ответов: 4
Просмотров: 1055
Мелкий пишет:
0) вы точно урл пишете с https:// ?
1) посмотрите доку к апи, не требует ли установки ключей и с вашей стороны? CURLOPT_SSLCERT, CURLOPT_SSLKEY и др. настройки.

0). Так точно! Более того для обоих вариантов ответ одинаков, который я приводил.
1). В доке ничего про ssl нет. Только примеры, местами с http, местами c https, и всегда с лишними слешами.
Быколай Отправлено: 27 Июня, 2012 - 19:26:38 • Тема: введение в SSL • Форум: Работа с сетью

Ответов: 4
Просмотров: 1055
Пробовал обе опции в 0 ставить, все равно получал в ответ сообщение
service required ssl с кодом 403 ошибки.
Быколай Отправлено: 27 Июня, 2012 - 16:07:19 • Тема: введение в SSL • Форум: Работа с сетью

Ответов: 4
Просмотров: 1055
Добрый день.
Раньше не доводилось работать с SSL. Сейчас возникла задача: обратиться к некоему API по https, оно требует SSL. То есть я curl посылаю заголовки по определённому URI и в ответ получаю следующее:

CODE (htmlphp):
скопировать код в буфер обмена
  1. HTTP/1.0 403 Forbidden
  2. X-Mashery-Error-Code: ERR_403_SERVICE_REQUIRES_SSL
  3. Content-Type: text/xml
  4. Date: Wed, 27 Jun 2012 13:03:49 GMT
  5. Server: Mashery Proxy
  6. Content-Length: 29
  7.  
  8. <h1>Service Requires SSL</h1>

Почитал описание технологии, и честно говоря до конце не въехал. Мне нужно завести сертификат для своего сайта? Или достаточно что-то прописать в опциях curl?
Быколай Отправлено: 08 Октября, 2011 - 20:35:32 • Тема: destuct родителя. да и construct тоже • Форум: Объектно-ориентированное программирование

Ответов: 2
Просмотров: 1673
Спасибо Champion!
Просто си не владею, а формулировка в статье наводит на мысль что именно не будет вызова родительских методов автоматом. В случае переопределения конечно и так понятно.
Быколай Отправлено: 08 Октября, 2011 - 20:04:22 • Тема: destuct родителя. да и construct тоже • Форум: Объектно-ориентированное программирование

Ответов: 2
Просмотров: 1673
здесь http://php.su/learnphp/phpoo/?php5 написано:
Цитата:
Конструкторы в классах-родителях не вызываются автоматически. Чтобы вызвать конструктор, объявленный в родительском классе, следует обратиться к методу parent::__construct().

и
Цитата:
Как и в случае с конструкторами, деструкторы, объявленные в родительском классе, не будут вызваны автоматически. Для вызова деструктора, объявленном в классе-родителе, следует обратиться к методу parent::__destruct().

на практике получаю вызов и того и другого, когда создаю наследника, в котором эти методы не переопределены.
то есть код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <pre>
  3. <?PHP
  4. $main = new Main();
  5. $second = new Second();
  6.  
  7. class Main{
  8.         function __construct(){
  9.                 print __METHOD__."\n";
  10.         }
  11.        
  12.         function __destruct(){
  13.                 print __METHOD__."\n";
  14.         }
  15.        
  16. }
  17.  
  18. class Second extends Main{
  19.        
  20. }
  21.  

даёт:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. Main::__construct
  3. Main::__construct
  4. Main::__destruct
  5. Main::__destruct
  6.  

где ошибка? в статье или моём понимании?
Быколай Отправлено: 24 Августа, 2011 - 21:44:02 • Тема: функции для работы с прямоугольной системой координат • Форум: Графика в PHP

Ответов: 0
Просмотров: 1199
Здравствуйте!
Вопрос к людям с развитым алгоритмическим мышлением и тем кто занимался подобными проблемами.
В таблице БД хранятся сведения о холсте. Столбцы: x, y и area_id (тип этой точки). С этим, полагаю, всё понятно. Всего существует несколько типов точек, и они чаще всего расположены группами - полигонами, любой формы.
Что интересует. Стоит задача выводить графическое представление имеющегося холста, в различных масштабах и видах отображения. В конечном итоге это будет осуществляться векторной графикой SVG.
По-пиксельно и с масштабированием я знаю как справиться, а вот как выхватить их этого массива (сейчас это 256^2, возможно холст будет и больше) точек полигоны, чтобы вывести их в векторе? То есть нужна функция определяющая крайние координаты полигона. Нужна или библиотека на php для решения похожих задач, или пинок в нужную сторону, как составить наиболее простой алгоритм. При попытках написать свой, понимаю, что получается несколько громоздко и путано.
Это текущая задача. В перспективе же интересует информация по "геометрическому программированию", если можно так выразиться: статьи по применению php в этой связи, можно толковую теоретическую литературу.
Быколай Отправлено: 20 Апреля, 2011 - 21:33:53 • Тема: организация прав web-сервера • Форум: Администрирование *nix

Ответов: 17
Просмотров: 8516
удалось сделать рекурсивно владельцем созданной папки /var/www/htdocs-1 пользователя www-data. забил пока на ссылки.
но почему-то виртуальный хост один открываеться по разным адресам...
(Добавление)
фуф... так, вроде и с этим разобрался. для fat32 похоже нет возможности применять управление unix-правами. очень жаль, значит совместно использовать одну папку под обеими осями не получиться.
а с хостами - надо было ServerAlias прописать в каждом файле.
Быколай Отправлено: 19 Апреля, 2011 - 20:30:04 • Тема: организация прав web-сервера • Форум: Администрирование *nix

Ответов: 17
Просмотров: 8516
DeepVarvar пишет:
Быколай пишет:
Операция не позволяется

1. Вы под каким пользователем права и группы ставите файлам?

от sudo. ничего так и не вышло с символической ссылкой. не знаю играет ли роль, но может не дал понять: файловая система папки htdocs fat32.
опробовал другой вариант:
создал папку /var/www/htdocs-1 в неё скопировал папки сайтов. в наутилусе от sudo проставил владельцем www-data, создал соответующте доменам файлы в sites-available, ссылки на них в sites-enabled, прописал там
Спойлер (Отобразить)

результат - 403.
какие ещё будут мнения как раскочегарить эту штуку??
Быколай Отправлено: 19 Апреля, 2011 - 00:14:45 • Тема: организация прав web-сервера • Форум: Администрирование *nix

Ответов: 17
Просмотров: 8516
EuGen пишет:
Ссылка работать будет,
для настройки пользователя/группы используйте директивы
User www-data
Group www-data
в Вашем конфигурационном файле

спасибо, с этим этапом разобрался.
не получается изменить владельца для ссылки, так же самого каталога
пробовал с разными флагами
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. sudo chown www-data:www-data /var/www/htdocs
  3.  

ответ
Цитата:
Операция не позволяется

для файлов в /var/www/ получилось.
в системном мониторе проверил владельца процессов апача, прикрепляю. это нормальное состояние?
Быколай Отправлено: 18 Апреля, 2011 - 18:51:39 • Тема: организация прав web-сервера • Форум: Администрирование *nix

Ответов: 17
Просмотров: 8516
EuGen пишет:
Да, создайте пользователя (классически www-data) и размещайте проекты в отдельном каталоге (у меня это обычно /var/www). Каждый проект - отдельный виртуальный хост.
Веб-сервер должен быть сконфигурирован на работу от имени этого пользователя.

www-data есть уже такая группа. как определить от чьего имени работает апачь?
и ещё такой вопрос: я в /var/www создал ссылку на htdocs которая находится в недрах виндового логического диска с сервером... это будет работать? просто не хотелось бы сносить сервер с проектами который уже успешно настроен в winxp.
Быколай Отправлено: 17 Апреля, 2011 - 21:18:45 • Тема: организация прав web-сервера • Форум: Администрирование *nix

Ответов: 17
Просмотров: 8516
EuGen пишет:
Я бы рекомендовал разделять домашние каталоги и каталоги с веб-проектами, так как много чего хранится в домашнем каталоге в директориях, начинающихся с ".".
Например, .ssh хранит все Ваши ключи. И, стало быть, если корневой каталог этого пользвателя будет доступен через веб, ни к чему хорошему это явно не приведет. А уж если там еще и есть права на запись.. В общем, лучше разделять эти два понятия - каталог пользователя и каталог веб-проектов.

вот я тоже так понимаю. и куда следует запихать каталог с сайтами: создать отдельного пользователя aka server? или как-то ещё?
Быколай Отправлено: 17 Апреля, 2011 - 19:12:41 • Тема: организация прав web-сервера • Форум: Администрирование *nix

Ответов: 17
Просмотров: 8516
Хорошо, спасибо. Приступил к настройке апача. Всё оказалось несколько мутнее чем в win - символические ссылки на сайты, включение сайтов...
теперь такая непонятка: как уже сказал есть логический диск с сайтами. сейчас он у меня примонтирован в /home/server/ - полные права к этой папке у рута и plugdev.
правильно будет перемонтировать её в свой домшний каталог? или как?
меня если честно, как человека прожившего всю сознательную жизнь под win всё это несколько сбивает с толку.

Страниц (4): [1] 2 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB