PHP.SU

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

Страниц (1): [1]

> Найдено сообщений: 11
testergame Отправлено: 15 Октября, 2012 - 22:22:34 • Тема: Подскажите как узнать из какого файла был вызван текущий файл через include • Форум: Вопросы новичков

Ответов: 1
Просмотров: 358
Подскажите пожалуйста, как узнать из какого файла был вызван текущий файл через include?

Например, есть два файла 1.php и 2.php

Содержимое файла 1.php


Содержимое файла 2.php
PHP:
скопировать код в буфер обмена
  1.  
  2. echo ; /* Здесь надо вывести из какого файла был вызван текущий файл, в данном случае должно вывести "1.php" */
  3.  


Я понимаю, что в файле 1.php можно объявить переменную или константу, но интересует именно стандартная функция или предопределенная константа, без каких то дополнительных объявлений.
testergame Отправлено: 11 Октября, 2012 - 19:07:46 • Тема: Функция mysql_client_encoding работа с файлом конфигурации my.ini • Форум: Вопросы новичков

Ответов: 3
Просмотров: 121
KingStar пишет:
попробуй там, где у тебя mysql_connect, после добавить запросы

Нет нет нет, нужно именно через конфиг сделать.
testergame Отправлено: 11 Октября, 2012 - 12:33:38 • Тема: Функция mysql_client_encoding работа с файлом конфигурации my.ini • Форум: Вопросы новичков

Ответов: 3
Просмотров: 121
Доброго времени суток.

Нужно настроить кодировку.
ОС: Linux, База: MySQL, версия 5.1.37.

Подскажите пожалуйста, какую настройку нужно изменить в файле конфигурации my.ini, чтобы в данном скрипте выводило например: "cp1251"?

PHP:
скопировать код в буфер обмена
  1. echo mysql_client_encoding(); // Сейчас выводит: latin1



Проверял следующие запросы:

CODE (SQL):
скопировать код в буфер обмена
  1. SHOW VARIABLES LIKE 'character_set_client'
  2. SHOW VARIABLES LIKE 'character_set_connection'
  3. SHOW VARIABLES LIKE 'character_set_database'
  4. SHOW VARIABLES LIKE 'character_set_results'
  5. SHOW VARIABLES LIKE 'character_set_server'


Самое интересное, что все они выводят именно cp1251.
testergame Отправлено: 11 Октября, 2012 - 06:34:44 • Тема: База MySQL, настройка файла конфигурации my.ini • Форум: Администрирование БД

Ответов: 0
Просмотров: 1685
Доброго времени суток.

ОС: Linux, База данных: MySQL, версия: 5.0.51a
Мне необходимо внести изменение в настройку MySQL в файл my.ini, но проблема в том, что он так устроен, что одни и те же команды там повторяются несколько раз.

Как я понял файл разделен на разделы типа [client], [mysqld], [mysqldump], [mysqlhotcopy] и т.д.

Подскажите пожалуйста документацию со всевозможными типами этих разделов с описанием, за что конкретно каждый из разделов отвечает.

Интересует:
1. Сколько всего таких разделов существует.
2. Описание за что каждый из разделов отвечает.
3. Какие настройки доступны для каждого раздела. Этот пункт скорее фантазия, сомневаюсь что есть документации для MySQL конфига на подобие той что сделана для PHP конфига (файл php.ini), где есть список всех всевозможных команд который можно вносить в файл конфигурации.

Гуглил гуглил, так нигде и не нашел, я имею ввиду описание всех всевозможных разделов в одном месте.

С уважением, Сергей.
testergame Отправлено: 11 Октября, 2012 - 06:02:03 • Тема: Редактирование настроек файла my.ini • Форум: Вопросы новичков

Ответов: 1
Просмотров: 87
Доброго времени суток.

Клиент хочет, чтобы при запуске всех этих запросов всегда выводилось: "cp1251"
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SHOW VARIABLES LIKE 'character_set_client';
  3. SHOW VARIABLES LIKE 'character_set_connection';
  4. SHOW VARIABLES LIKE 'character_set_database';
  5. SHOW VARIABLES LIKE 'character_set_results';
  6. SHOW VARIABLES LIKE 'character_set_server';
  7. SHOW VARIABLES LIKE 'character_set_system';
  8.  


А при запуски всех этих запросов всегда выводилось: "cp1251_general_ci"
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SHOW VARIABLES LIKE 'collation_connection';
  3. SHOW VARIABLES LIKE 'collation_database';
  4. SHOW VARIABLES LIKE 'collation_server';
  5.  


Какие команды я должен изменить в файле my.ini и главное в каком именно месте?
ОС: Linux, База данных: MySQL, версия: 5.0.51a
testergame Отправлено: 09 Октября, 2012 - 14:48:08 • Тема: Помогите найти более быстрый аналог file_get_contents • Форум: Вопросы новичков

Ответов: 2
Просмотров: 174
Доброго времени суток.
Требуется написать, метод для получения JSON информации с http сервера.
Пока первое что приходит в голову это file_get_contents


Но данный метод на мой взгляд очень медленный на выполнение 1000 запросов подряд уходит 2 секунды.

Подскажите пожалуйста какие еще существуют более быстрые варианты получения информации с http сервера?
testergame Отправлено: 09 Октября, 2012 - 14:04:04 • Тема: Организация разработки крупного проекта через API • Форум: Вопросы новичков

Ответов: 25
Просмотров: 622
Zuldek пишет:
А зачем разработчику давать возможность загружать модули на боевой сервер? Они пишутся таким образом чтобы их можно было протестировать как модуль, независимо от основного проекта, иначе это уже его неправильная организация изначально.


Конечно вся разработка расположена на отдельном сервере без локального доступа к боевому серверу.

Zuldek пишет:
Если у вас идут инклуды подобного: include somethingwithoutmygamedoesnotwor k.php
Содержащие основную массу всех классов движка то это уже неправильная организация.


Организация проекта здесь не причем, суть вопроса в другом.
Еще раз привожу пример:
Программист #1 пишет целый класс для работы с чатом, например class.chat.php
Программисту #2 нужен один из методов этого класса для выполнение в файле battle_end.php.

Вот тут то и наступает тот критический момент, что для программиста #2 какие бы мы не организовывали интерфейсы и тому прочее все равно в файле battle_end.php так или иначе будет произведен include класса class.chat.php. А так как будет произведен инклуд, то и содержимое файла можно будет запросто получить.
(Добавление)
Zuldek пишет:
Не понимаю причем тут способ организации api и http-протокол Не понял
Ну организуйте хоть на ftp, что от этого изменится?


Как я уже писал выше на примере battle_end.php

Если подобный метод делать через API, то мы вроде выполняем все тот же метод класса class.chat.php, но доступа к самому классу не имеем, проще говоря мы не инклудим класс тем самым не получаем доступа к исходному коду класса.
testergame Отправлено: 09 Октября, 2012 - 13:48:05 • Тема: Организация разработки крупного проекта через API • Форум: Вопросы новичков

Ответов: 25
Просмотров: 622
caballero пишет:
проблемма как я уже намекал исключительно у тебя в голове.

С возрастом и опытом это пройдет.


Я прошу вас очень вежливо не обращаться ко мне в таком тоне.

Еще раз хочу пояснить суть темы:
Цитата:
Какие еще существуют подобные способы организации api кроме http протокола?
testergame Отправлено: 09 Октября, 2012 - 13:17:46 • Тема: Организация разработки крупного проекта через API • Форум: Вопросы новичков

Ответов: 25
Просмотров: 622
Zuldek пишет:
SVN в помощь.


Да конечно я использую SVN, но он здесь совершенно не причем, если я могу закачать и выполнить php файл на сервере к которому даже автоматически инклудется какой-то другой файл, то я могу получить исходный код этого файла.

Это и есть основная проблема.
testergame Отправлено: 09 Октября, 2012 - 12:38:17 • Тема: Организация разработки крупного проекта через API • Форум: Вопросы новичков

Ответов: 25
Просмотров: 622
Хочу сразу пояснить несколько моментов.
Проекту уже более двух лет.
Каждый день в игре онлайн от 1200 до 1600 пользователей.
То есть проект уже какое-то время стабильно работает на рынке.

Мой вопрос был в основном направлен исключительно на новую идею организации разработки через HTTP API. Насколько это хорошо или плохо?

Главное условие чтобы новый программист не имел доступа к другим модулям проектам.

P.S. Конечно, если я буду реализовывать подобный подход через API, то я и все остальные программисты будем подробно все документировать для вновь прибывших программистов.
(Добавление)
tato пишет:
Почитайте, что такое интерфейсы и абстрактные классы.
Поясню, Програмист1 пишет класс расширяющий абстракцию, програмист2 понятия не имеет как класс называется и что он делает, но он знает, что класс расширен из AChat и в следствии этого у него должен быть метод sendToChat.

И на последок, Вам лично необходимо будет только завязать все в одно целое.

PHP:
скопировать код в буфер обмена
  1.     class Game
  2.     {
  3.         public function mySuperPuperGame()
  4.         {
  5.              // Вы-то знаете названия класов (=
  6.             $chat = new SuperChat();
  7.             $battle = new AwesomeBattle();
  8.      
  9.             $battle->endOfBattle( $chat );
  10.         }
  11.     }



В данном подходе, что мешает вновь прибывшему программисту просканить и скачать это файл, а за одно и все остальные файлы к которым он по задумке вроде не имеет доступа?

Понимаете если мы пишем:

То сам класс SuperChat уже как то подключен к скрипту, а все что подключено к скипту на уровне php через include и т.д. можно просканить и скачать.
testergame Отправлено: 09 Октября, 2012 - 06:34:54 • Тема: Организация разработки крупного проекта через API • Форум: Вопросы новичков

Ответов: 25
Просмотров: 622
Доброго времени суток.
Есть проект браузерная онлайн игра которая разрабатывается уже какое-то время, только мной. То есть я единственный у кого есть доступ к php скриптам.

Из за того, что я работаю один в целом проект развивается очень медленно.
И вроде есть деньги нанять еще 2-3 php-программиста, но проблема в том, что за время разработки на мой взгляд проект накопил достаточно много ценной информации которую просто так не даш в свободный доступ. Попросту я боюсь, что нанимая новых программистов кто-то из них обязательно унесет с собой части проекта или того хуже создаст копию, что-то на подобие онлайн игр: комбатса(BK) и олдкомбатса(oldBK).

У меня возникла такая идея, не давать новому программисту доступ к самому проекту, а дать доступ к API проекта, что-то на подобие API ВКонтакте.

Например в проекте есть следующие модули:
/base
/chat
/shop
/battle

Предположим, что у нас есть три программиста каждый работает только над своим модулем:
/base - Общяя папка для всех программстов
/chat - Программист #1 работает над чатом
/shop - Программист #2 работает над магазином
/battle - Программист #3 работает над боем

Соответственно программист #1 имеет доступ только к папкам /base и /chat
Соответственно программист #2 имеет доступ только к папкам /base и /shop
ну и т.д.


Но вот, что если программисту #3 нужна функция для работы с чатом, например:
Программист #3 написал функцию задача которой по завершению боя написать в чате сколько пользователь получил опыта.

Для подобной реализации программсту #3 нужен класс для отправки сообщений в чат. Но к этому классу у него нет доступа. А как я уже сказал дать такой доступ я не могу.

Какую я предлагаю реализацию.
Для получения подобного метода(отправки сообщений в чат) программист #3 просит меня или напрямую обращается к программисту #1 с просьбой сделать данный метод доступным через chat.api, а дальше один в один как API ВКонтакте. Программисту #3 для отправки сообщений в чат достаточно будет выполнить что-то вроде такого:
file_get_contents('http://chat[dot]api[dot]game[dot]ru/?method=[dot][dot][dot]sage&msg=Бой закончен, Вы получили 5 опыта.');


Идея вроде очень хорошая, она полностью решает проблему с тем, что твой проект кто-то украдет так как у каждого программиста будет только та часть кода над которой он действительно работает.

Но здесь есть один минус, это медленный http протокол с которым теперь будет взаимодействовать api.

Какие еще существуют подобные способы организации api кроме http протокола?

Какие вообще варианты разработок крупных проектов существуют?

Например, как устроена организация разработки того же контакта или фейсбука?

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB