Здесь буду писать про тонкости Symfony2, MongoDB, AngularJS, SockJs в разработки большого проекта с нуля.
Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения
понедельник, 4 августа 2014 г.
среда, 25 июня 2014 г.
MongoDB установка centos
Что бы установить MongoDB на centos необходимо:
Что бы узнать версию ОС нужно выполнить $ uname -a
$mcedit /etc/yum.repos.d/mongodb.repo
[mongodb]name=MongoDB Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/gpgcheck=0enabled=1
$sudo yum install mongodb-org
$sudo service mongod start
Затем устанавливаем драйвер для PHP (два варианта):
1. $yum install gcc php-pear -y
or
2. $
- export PHP_AUTOCONF=/usr/bin/autoconf
- export PHP_AUTOHEADER=/usr/bin/autoheader
- wget http://pecl.php.net/get/mongo-1.5.4.tgz
- tar -xzf mongo-1.5.4.tgz
- cd mongo-1.5.4
- phpize
- ./configure
- make && make install
- echo "extension=mongo.so" > mongo.ini
- /etc/init.d/httpd restart
вторник, 13 мая 2014 г.
PHP ini error log
Способ 1 — изменить php.ini:
Способ 2 — добавить в .htaccess:
Способ 3 — добавить в самое начало php скрипта:
log_errors = On
error_log = /var/log/php_errors.log
Способ 2 — добавить в .htaccess:
php_value log_errors "On"
php_value error_log /var/log/php_errors.log
Способ 3 — добавить в самое начало php скрипта:
ini_set('log_errors', 'On');
ini_set('error_log', '/var/log/php_errors.log');
понедельник, 30 декабря 2013 г.
Курсы веб программирования СПб
Курсы интернет разработок могут быть востребованы:
- Новичкам – слушателям, решившим сменить свою профессию на вэб мастеров и начать обучаться с нуля.
- Студентам – обучающимся программированию в университете, и желающим получить практический опыт, а не теоретические курсы прошлых лет по устаревшим технологиям
- Вэб программистам – понявшим необходимость систематизировать знания, полученные самообучением или на месте работы
- Фрилансерам – указав, в резюме, о прохождении курса у нас, вы повышаете доверие потенциальных заказчиков к вам
пятница, 25 октября 2013 г.
PHP Unit Test быстрый старт
Возникла необходимость быстро ввести программистов в сферу написания авто тестов. В презентации отразил основные понятия как тестирования в целом, так и тонкости именно phpUnit-test.
воскресенье, 29 сентября 2013 г.
Как определить из под какого пользователя запущен Apache
Как узнать пользователя, от имени которого работает php (запущен Apache)
или посмотреть в /etc/httpd/httpd.conf
Смена владельца папки или файла:
ps -ef | fgrep apache
или посмотреть в /etc/httpd/httpd.conf
Смена владельца папки или файла:
chown ЮЗЕР:ГРУППА путь к папкеПрава на папку:
ls -l
ls -n
четверг, 15 августа 2013 г.
QRcode PHP library generator
- Генерируем QR код на PHP - php QRcode generator library
- Генерируем QR code с помощью Chart - Google API Google Chart Tools
- QR code generator class Скачать - генерирует QR коды закодированной информации: закладка, текст, СМС сообщение, телефонный номер, контактная информация, почтовое письмо, гео-локация, Wi-Fi доступ, мета данные i-appli или abitrary контент.
- PHP QR Code library for generating QR Code, 2-dimensional barcode. Based on libqrencode C library phpqrcode
- WordPress plugins
- PHP Library to create QR Code for CodeIgniter Framework
- cakePHP Helper
- И другие разные репозитории github и bitbucket
четверг, 8 августа 2013 г.
Yii GeoIP
Установленные Perl-модули:
на простом PHP с ООП:
Другие варианты:
- Geo::IPfree (1.110450)
- Geography::Countries (2009041301)
yii-geoip - Yii Module to allow for easy usage of the MaxMind Free file dbs.
на простом PHP с ООП:
- Гео-модуль (КЛАДР+ФИАС)
- PHP API for GeoIP2 webservice client and database reader MaxMind
- MaxMind GeoIP2 Web Services
- Поиск географического местонахождения IP-адреса, выделенного RIPE локальным интернет-реестрам (LIR-ам) для Российской Федерации и Украины
- PHP GeoIP extension
- Geocoder PHP
Другие варианты:
- ngx_geoip
Пример: Ваш GeoIP
суббота, 20 июля 2013 г.
Yii insert on duplicate key update
В Yii столкнулся с тем что понадобилось добавить в ActiveRecord, метод insertUpdate - генерирующий запрос INSERT INTO .... ON DUPLICATE KEY UPDATE к БД.
вторник, 25 июня 2013 г.
OAuth OpenID OAuth2
Единая авторизация пользователей с поддержкой нескольких сервисов и социальных сетей
подробнее в заметке
пятница, 21 июня 2013 г.
Yii auth extensions
Сравнение расширений для авторизации пользователей на Yii
|
rights
|
yii-user-management |
srbac
|
|
|
Голосов :
+213 / -15
|
Votes: +188 / -2
|
Голосов : +91 / -51
|
Votes: +64 / -8
|
Votes:
+47 / -6
|
|
Войти с Имя пользователя или e-mail
|
+
|
логин
|
|||
Регистрация
пользователя
|
+
|
+
|
|||
Активация счета (проверка электронной почты, администратор
или нет)
|
+
|
активация по почте
|
|||
Восстановление пароля (отправить ключ восстановления
электронной почты пользователя)
|
+
|
+
|
|||
Интернационализации
(i18n)
|
+
|
+
* Базовый язык -Английский.
Неполный переводы на русский
|
|||
Пользователь
Аватар загрузки
|
+
|
||||
Дружба
системы
|
+
|
||||
Управление
профиля поля
|
+
|
управление полями анкеты
|
|||
Страница
профиля пользователя
|
+
|
только в админке
|
|||
Управление
пользователями
|
+
|
+
|
+
|
||
Управление правами
|
+
|
+ (есть даже привязка к поатным пакетам доступов)
|
|||
Авторизация через социальные сети
|
+
|
||||
Особенности
|
Ставиться отдельными модулями в папку /protected/modules что не удобно для обновления, разделения и не сделать этот проект как Git Submodules.
Поддерживается одним разработчиком, который отвечает только на некоторые тикеты. |
||||
Впечатление
|
Долго устанавливался, конфигурировался. Так и не заработала регистрация.
|
||||
Это расширение использует
встроенную базу данных в Yii Authorization Manager (CDbAuthManager), чтобы
обеспечить веб-интерфейс для расширенного управления доступом.
|
What it is not:
* A
complex RBAC like srbac.
|
модуль, который добавляет
графический веб-интерфейс для управления RBAC Yii использует CDbAuthManager
поэтому она нуждается в базу данных
|
- Единая авторизация пользователей с поддержкой нескольких сервисов и социальных сетей
- Расширение содержащее методы для обеспечения совместимости yii-user и rights
понедельник, 4 февраля 2013 г.
Yii. Аутентификация и авторизация с описанием ролей
Yii. Authentication and Authorization with the description of roles
После того как я разнес пользовательскую часть сайта и административную панель, я задумался о разделении доступа пользователям по ролям их учетных записей.Разграничение в yii можно реализовать двумя способами:
- используя фильтр
- на основе RBAC.
Yii позволяет использовать два тип хранилища для ролей и операций:
- PHP файл (CPhpAuthManager)
- базу данных (CDbAuthManager).
воскресенье, 3 февраля 2013 г.
Способы разделения frontend и backend частей в Yii (админка)
Organize directories for applications with front-end and back-end - статья будет полезна новичкам
Обсуждения этой реализации:
Удобный и логичный front-end and back-end + использование модуля yii-user
Один из плюсов - физическое разделение приложения на уровне каталогов, файлов и настроек.
Обсуждения этой реализации:
Удобный и логичный front-end and back-end + использование модуля yii-user
Один из плюсов - физическое разделение приложения на уровне каталогов, файлов и настроек.
пятница, 31 августа 2012 г.
четверг, 2 августа 2012 г.
Coding Style - Стандарт кодирования на PHP
Стандарт оформления кода (стиль программирования) (англ. coding standards, coding convention или programming style)
Предлагаю, для ознакомления, часть текста документа, который я разработал для себя и своей команды. Основа взята с framework.zend.com/manual/ru/coding-standard.html, часть с PEAR и самая важная часть, из собственного опыта программирования. Я не жду единогласного признания т.к. каждый программист привык к тому к чему привык и, что-то другое для него будет не удобным и неправильным.
По запросу могу предоставить полный текст документа, всего 16 страниц выверенного текста.
Может размещу стандарты работы с БД MySQL, порядок работы с Git и руководство по написанию PHPUnit тестов.
Оглавление
- Формат файлов3
- Кодировка3
- Форматирование PHP-файлов3
- Общее3
- Отступы3
- Максимальная длина строки3
- Соглашения по именованию3
- Директории3
- Классы3
- Интерфейсы4
- Имена файлов4
- Функции и методы4
- Переменные и свойства5
- Константы5
- Стиль кодирования5
- Обрамление PHP-кода5
- Строки5
- Строковые литералы5
- Строковые литералы, содержащие апострофы6
- Подстановка переменных и конкатенация строк6
- SQL запросы6
- Массивы7
- Массивы с числовыми индексами7
- Ассоциативные массивы7
- Классы8
- Определение класса8
- Переменные-члены классов9
- Функции и методы9
- Определение функций и методов9
- Использование функций и методов11
- Вызовы функций и методов11
- Управляющие структуры12
- If / Else / Elseif12
- Switch13
- Комментарии14
- Встроенная документация14
- Файлы14
- Классы14
- Функции15
среда, 1 августа 2012 г.
Yii. CHtml::ajaxLink - AJAX обработка нажатия кнопки
<div id="mposter">Обновить этот DIV</div>
<?php echo CHtml::ajaxLink(
'Получить ответ от сервера',
CController::createUrl('/controller/action'),
array(
'type' => 'POST',// method
'data'=>array('update'=>TRUE),// DATA
'update' => '#mposter',// что обновить :)
));
?>
пятница, 13 июля 2012 г.
Создаем счетчик для размещения на других сайтах
Создаем счетчик для размещения на других сайтах
На странице пользователя:
<script src="//domain/gc.js" type="text/javascript"></script>
<script type="text/javascript">
try { var gluCounter11111111111 = new Glu.Counter(11111111111); } catch(e){}
</script>
<noscript>
<a href="http://domain/click/11111111111" target="_blank">
<img src="//domain/counters/11111111111.png" alt="" />
</a>
</noscript>
Тег <script type="text/javascript"> используется дважды для того что бы инициализация класса во втором теге произошла только после того как подгрузится файл с удаленного сервера.
Содержимое файла gc.js:
document.write("<a href='http://domain/click' target='_blank'><img src='http://domain/counters/11111111111.png?"+Math.random()+"' alt='' /><\/a>")
Подписаться на:
Сообщения (Atom)