
02.06.2009, 14:11
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
С нами:
9560486
Репутация:
1809
|
|
m0Hze спасибо! То что нужно.
|
|
|

02.06.2009, 14:36
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 9
С нами:
9391536
Репутация:
21
|
|
Ну вот как обычно на всех форумах, много лиреческих вопросов "зачем" и "почему"?
Модель которой придерживаюсь я:
Модель (файл залит на upload.com.ua)
У меня такая структура
index_view.php
PHP код:
<?php
class index_view
{
function __construct()
{
index_view::showpage();
} //_construct
function showpage()
{
require_once("index_controllers.php");
$controllers = new index_controllers("SELECT * FROM news");
while($table=mysql_fetch_object($controllers->query_db))
echo $table->data.'<br>'.$table->message.'<br><br>';
} //showpage
}
?>
index_controllers.php
PHP код:
<?php
class index_controllers
{
public $query_db;
function __construct($query_in_controlls="") {
# Берем из конфига настройки к БД
require_once("config_suit.php");
$config = new config_suit;
# Передаем их в модель
require_once("index_module.php");
$model = new index_module($config->databaselocalhost,
$config->databaseusername,
$config->databaseuserpass,
$config->databaseuserdb,
$query_in_controlls);
$this->get_query_db($model->query);
} //__construct
function get_query_db($obj)
{
// Если ошибки записываем их в "Лог" файл взаимодейстия на схеме
$this->query_db=$obj;
} //get_query_db
} //index_controllers
?>
index_module.php
PHP код:
<?php
class index_module
{
public $query;
function __construct ($databaselocalhost,
$databaseusername,
$databaseuserpass,
$databaseuserdb,
$query_in_model)
{
$connect=mysql_connect($databaselocalhost,
$databaseusername,
$databaseuserpass);
$connect_db =mysql_select_db($databaseuserdb,$connect);
$this->query = mysql_query($query_in_model);
} //__construct
} //index_module
?>
и config_suit.php
PHP код:
<?php
class config_suit
{
# Настройки к БД
var $databaselocalhost = "localhost";
var $databaseusername = "username";
var $databaseuserpass = "userpass";
var $databaseuserdb = "userdb";
} //config_suit.php
?>
Как вы уже видете с представления "вид" передаетса в "контроллер" сам запрос на выборку из БД, притом в "контроллере" подключаетса файл "конфигурации" и предаютса запрос и настройки из конфига для БД в "модель" после всех операций с "модели" данный для проверки отдаютса "контроллеру" а тот уже проверенные данные передает в "вид".
Я думаю модель (MCV) ясна, по коду возможны опечатки, так как не тестировалось и убраны всё возвожные проверки данных для облегчения кода.
Вот сообственно вопрос, повторюсь по уже сказанному
.... считаетса ли хорошим стилем программирования большой список аргументов передаваемые в класс при его инициализации?
PHP код:
<?php
class TSymbol
{
protected $var1;
protected $var2;
# .....
protected $varN;
function TSymbol($var1="",$var2="",...,$varN="")
{
$this->var1 = $var1;
$this->var2 = $var2;
# ......
$this->varN= $varN;
}
} //TSymbol
?>
# В другом скрипте
<?php
require_once("TSymbol.inc");
symbol = new TSymbol($new_var1,$new_var2,...,$new_varN);
?>
Хотел спросить если количество переменны будет к примеру 10, являетса ли это эфективно при передачи такого количества идентификаторов в класс?
|
|
|

02.06.2009, 15:13
|
|
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
С нами:
10039659
Репутация:
209
|
|
Есть страница.
Нужно курлом получить кей со страницы и сразу же отправить его. Как быть?
т.е при каждом заходе генериться новый кей
|
|
|

02.06.2009, 15:22
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
Сообщение от 1NtR0
Есть страница.
Нужно курлом получить кей со страницы и сразу же отправить его. Как быть?
т.е при каждом заходе генериться новый кей
Регулярные выражения.
Сообщение от Avastor
Самый самый самый простой вариант
Код HTML:
<a href="mailto:support@mysite.ru?subject=трабли на сайте">сообщить об ошибки</a>
Тут вообще открывается компоннент браузера, чтобы отправить...
|
|
|

02.06.2009, 22:06
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 9
С нами:
9391536
Репутация:
21
|
|
Сообщение от mailbrush
Тут вообще открывается компоннент браузера, чтобы отправить...
Правильно, а зачем изобретать колесо для простейшей функции отправки мыла?
|
|
|

02.06.2009, 22:29
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 9
С нами:
9391536
Репутация:
21
|
|
Сообщение от mailbrush
Тут вообще открывается компоннент браузера, чтобы отправить...
Mailbrush, вы говорите " компоненнт браузера??" вам не смешно? мне да ;-) к примеру OC Windows браузер FireFox, при переходи на ссылку mailto открываетса OutLock Express, либо другой мейловый агент который выставлен по дефолу, возмем ОС Linux при переходе с браузреа Opera открываетса почтовый клиент Evolution, возникает вопрос? как может Outlock express быть компонентов браузер FireFox, и Evolution компонентов Opara странно?
|
|
|

02.06.2009, 15:29
|
|
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
С нами:
10039659
Репутация:
209
|
|
Ну так сначала же заходишь и выдираешь кей из страницы а потом уже опять заходишь и передаешь параметер и он уже меняеться..
|
|
|

02.06.2009, 15:33
|
|
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами:
9574565
Репутация:
712
|
|
del
Последний раз редактировалось geforse; 02.06.2009 в 16:48..
|
|
|

02.06.2009, 16:38
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Вот,работает,только кодировку сменить придеться похоже ри передаче сообщения.А иначе можеш посмотреть что получаеться у себя в шб.
Код:
PHP код:
<?php
/**
* @author m0hze
* @copyright 2009
*/
if(!isset($_GET['name'])){
$exec = curl_init('http://geforse.my1.ru/gb/');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://geforse.my1.ru/gb/');
curl_setopt($exec, CURLOPT_HEADER, 1);
$page = curl_exec($exec);
preg_match('#name="seckey" value="([0-9]+)"#', $page, $key);
$seckey = $key[1];
preg_match('#src="http://geforse.my1.ru/secure/\?k=' . $seckey .
';s=gb;tm=(.*)"#', $page, $url_key);
$url = 'http://geforse.my1.ru/secure/?k=' . $seckey . ';s=gb;tm=' . $url_key[1];
echo '<form action="" method="GET">
Введите имя: <input type="text" name="name"><br>
Введите Email: <input type="text" name="email"><br>
Введите WWW: <input type="text" name="url"><br>
Введите сообщение: <input type="text" name="message"><br>
Введите Icon: <input type="text" name="key"><img src="' . $url . '"><br>
<input type="hidden" name="seckey" value="' . $seckey . '">
<input type="submit">';
}elseif(isset($_GET['name'])) {
$curl = curl_init('http://geforse.my1.ru/gb/');
echo $post = 'name=' . $_GET['name'] . '&email=' . $_GET['email'] . '&url=' . $_GET['url'] .
'&message=' . $_GET['message'] . '&code=' . $_GET['key'] . '&seckey=' . $_GET['seckey'] .
'&a=8&sos=752002698';
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($curl, CURLOPT_REFERER, 'http://geforse.my1.ru/gb/');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$send = curl_exec($curl);
echo $send;
}
?>
|
|
|

02.06.2009, 17:00
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Лучше гнаписать самому.А так,в гугле вбей: набор движков файлообменников 15.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|