Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 3 » Переезд на другой хостинг » 18.05.2013 18:37:20

В start.php всё так и стояло. В application.php установил  'url' => ''

Ничего он не показывает. Всё так же работает только главная страница.

#2 Re: Laravel 3 » Переезд на другой хостинг » 15.05.2013 22:10:13

Кстати говоря и 404 ошибка тоже не ларавелевская.

Ну т.е. всё игнорируется, кроме главной index.php

#3 Re: Laravel 3 » Переезд на другой хостинг » 15.05.2013 22:07:26

application.php

<?php

return array(

	/*
	|--------------------------------------------------------------------------
	| Application URL
	|--------------------------------------------------------------------------
	|
	| The URL used to access your application without a trailing slash. The URL
	| does not have to be set. If it isn't we'll try our best to guess the URL
	| of your application.
	|
	*/

	'url' => 'http://baget.hostenko()com',

	'name' => 'Багетная мастерская Рама–студио',

	'site_email' => 'info@yourdomain com',

	'no-reply_email' => 'no-reply@yourdomain com',

	'google_analytics' => '',

	'meta_tags' => 'tag1, tag2,',

	'meta_creator' => 'Veliov Group: Dmitriy A.',

	'default_loader' => '',

	'footer_sign' => '',

	/*
	|--------------------------------------------------------------------------
	| Asset URL
	|--------------------------------------------------------------------------
	|
	| The base URL used for your application's asset files. This is useful if
	| you are serving your assets through a different server or a CDN. If it
	| is not set, we'll default to the application URL above.
	|
	*/

	'asset_url' => '',

	/*
	|--------------------------------------------------------------------------
	| Application Index
	|--------------------------------------------------------------------------
	|
	| If you are including the "index.php" in your URLs, you can ignore this.
	| However, if you are using mod_rewrite to get cleaner URLs, just set
	| this option to an empty string and we'll take care of the rest.
	|
	*/

	'index' => '',

	/*
	|--------------------------------------------------------------------------
	| Application Key
	|--------------------------------------------------------------------------
	|
	| This key is used by the encryption and cookie classes to generate secure
	| encrypted strings and hashes. It is extremely important that this key
	| remain secret and should not be shared with anyone. Make it about 32
	| characters of random gibberish.
	|
	*/

	'key' => 'd3dsfsdfdcs96230newf', //change to yourdomain com unique key

	/*
	|--------------------------------------------------------------------------
	| Profiler Toolbar
	|--------------------------------------------------------------------------
	|
	| Laravel includes a beautiful profiler toolbar that gives you a heads
	| up display of the queries and logs performed by your application.
	| This is wonderful for development, but, of course, you should
	| disable the toolbar for production applications..
	|
	*/

	'profiler' => false, // turn off or on

	/*
	|--------------------------------------------------------------------------
	| Application Character Encoding
	|--------------------------------------------------------------------------
	|
	| The default character encoding used by your application. This encoding
	| will be used by the Str, Text, Form, and any other classes that need
	| to know what type of encoding to use for your awesome application.
	|
	*/

	'encoding' => 'UTF-8',

	/*
	|--------------------------------------------------------------------------
	| Application Language
	|--------------------------------------------------------------------------
	|
	| The default language of your application. This language will be used by
	| Lang library as the default language when doing string localization.
	|
	*/

	'language' => 'en',

	/*
	|--------------------------------------------------------------------------
	| SSL Link Generation
	|--------------------------------------------------------------------------
	|
	| Many sites use SSL to protect their users data. However, you may not be
	| able to use SSL on your development machine, meaning all HTTPS will be
	| broken during development.
	|
	| For this reason, you may wish to disable the generation of HTTPS links
	| throughout your application. This option does just that. All attempts
	| to generate HTTPS links will generate regular HTTP links instead.
	|
	*/

	'ssl' => true,

	/*
	|--------------------------------------------------------------------------
	| Application Timezone
	|--------------------------------------------------------------------------
	|
	| The default timezone of your application. The timezone will be used when
	| Laravel needs a date, such as when writing to a log file or travelling
	| to a distant star at warp speed.
	|
	*/

	'timezone' => 'UTC',

	/*
	|--------------------------------------------------------------------------
	| Class Aliases
	|--------------------------------------------------------------------------
	|
	| Here, you can specify any class aliases that you would like registered
	| when Laravel loads. Aliases are lazy-loaded, so feel free to add!
	|
	| Aliases make it more convenient to use namespaced classes. Instead of
	| referring to the class using its full namespace, you may simply use
	| the alias defined here.
	|
	*/

	'aliases' => array(
		'Auth'       	=> 'Laravel\\Auth',
		'Authenticator' => 'Laravel\\Auth\\Drivers\\Driver',
		'Asset'      	=> 'Laravel\\Asset',
		'Autoloader' 	=> 'Laravel\\Autoloader',
		'Blade'      	=> 'Laravel\\Blade',
		'Bundle'     	=> 'Laravel\\Bundle',
		'Cache'      	=> 'Laravel\\Cache',
		'Config'     	=> 'Laravel\\Config',
		'Controller' 	=> 'Laravel\\Routing\\Controller',
		'Cookie'     	=> 'Laravel\\Cookie',
		'Crypter'    	=> 'Laravel\\Crypter',
		'DB'         	=> 'Laravel\\Database',
		'Eloquent'   	=> 'Laravel\\Database\\Eloquent\\Model',
		'Event'      	=> 'Laravel\\Event',
		'File'       	=> 'Laravel\\File',
		'Filter'     	=> 'Laravel\\Routing\\Filter',
		'Form'       	=> 'Laravel\\Form',
		'Hash'       	=> 'Laravel\\Hash',
		'HTML'       	=> 'Laravel\\HTML',
		'Input'      	=> 'Laravel\\Input',
		'IoC'        	=> 'Laravel\\IoC',
		'Lang'       	=> 'Laravel\\Lang',
		'Log'        	=> 'Laravel\\Log',
		'Memcached'  	=> 'Laravel\\Memcached',
		'Paginator'  	=> 'Laravel\\Paginator',
		'Profiler'  	=> 'Laravel\\Profiling\\Profiler',
		'URL'        	=> 'Laravel\\URL',
		'Redirect'   	=> 'Laravel\\Redirect',
		'Redis'      	=> 'Laravel\\Redis',
		'Request'    	=> 'Laravel\\Request',
		'Response'   	=> 'Laravel\\Response',
		'Route'      	=> 'Laravel\\Routing\\Route',
		'Router'     	=> 'Laravel\\Routing\\Router',
		'Schema'     	=> 'Laravel\\Database\\Schema',
		'Section'    	=> 'Laravel\\Section',
		'Session'    	=> 'Laravel\\Session',
		'Str'        	=> 'Laravel\\Str',
		'Task'       	=> 'Laravel\\CLI\\Tasks\\Task',
		'URI'        	=> 'Laravel\\URI',
		'Validator'  	=> 'Laravel\\Validator',
		'View'       	=> 'Laravel\\View',
	),

);

#4 Re: Laravel 3 » Переезд на другой хостинг » 15.05.2013 22:05:52

routes.php

<?php

Route::get('/(:num)', array('as' => 'item', 'uses' => 'item@index'));

Route::get('lang/(:any)', array('as' => 'lang', 'uses' => 'lang@index'));

Route::get('admin/lang/(:any)', array('as' => 'admin_lang', 'uses' => 'lang@index'));

Route::get('admin/db/(:any)', array('uses' => 'admin.db@index'));

Route::get('admin/blog_area/(:num)', array('uses' => 'admin.blog_area@index'));

Route::get('admin/post_area/(:num)', array('uses' => 'admin.post_area@index'));

Route::get('admin/section_area/(:num)', array('uses' => 'admin.section_area@index'));

Route::controller(Controller::detect());

Route::group(array('before' => 'auth'), function()
{
	// Do stuff before auth
    Route::get('admin/(:any?)', function()
    {
        //
    });

});

Event::listen('404', function()
{
	return Response::error('404');
});

Event::listen('500', function()
{
	return Response::error('500');
});

Route::filter('before', function()
{
	// Do stuff before every request to your application...

	if(!Session::get('lang', null) && !Cookie::get('lang'))
	{
		Session::put('lang', Config::get('application.language'));
	}
	
	if(Cookie::get('lang'))
	{
		Session::put('lang', Cookie::get('lang'));
	}

	if(Cookie::get('userdata_id')){
		Utilites::revokeUser();
	}

	if(Cookie::get('admin_id')){
		Utilites::revokeAdmin();
	}
	
	if(!Session::get('user.access_level'))
	{
	    Session::put('user.access_level', '1');
	}
	
	if(!Session::get('href.previous'))
	{
	    Session::put('href.previous', URL::home());
	}

});


Route::filter('after', function($response)
{
	// Do stuff after every request to your application...
});

Route::filter('csrf', function()
{
	if (Request::forged()) return Response::error('500');
});

Route::filter('auth', function()
{
	if (!Admin::check()){
		return Redirect::to('admin/login');
	}
});

#5 Re: Laravel 3 » Переезд на другой хостинг » 15.05.2013 20:30:34

Никто не знает?
Кроме базданных и строчи в файле application.php - "'url' => 'http://baget.hostenko()com',"
ничего больше не надо уточнять для нового хостинга?

#6 Re: Laravel 3 » Переезд на другой хостинг » 15.05.2013 14:34:33

В общем после перенос на другой хостинг ссылочная структура перестала работать.
Полностью рабочая главная страница, но не открывается ни одна из других.

В чем может быть проблема? Попробовал уже на 5 разных хостингах, везде одинаково работает только главка.

#7 Laravel 3 » Переезд на другой хостинг » 15.05.2013 11:05:01

d1st
Ответов: 11

Здравствуйте.
Решил переехать на другой хостинг.
Имел работающий (на сколько мне нужно) сайт на laravel.

В результате у меня открывается только главная страница index.php.
А все остальные страницы не открываются. Как будто неправильно работают контролеры или что-то ещё.

Хотя всё скопировано точно и, раз главная открывается, то значит сам laravel работает.
Но все страницы почему то "не найдены".

В чём может быть проблема?

#8 Re: Laravel 3 » Перенос сайта на Lavarel » 01.05.2013 20:37:30

Со структурной частью более менее разобрался.
Позволю себе задать ещё один вопрос.

У меня есть index.php - в нем записан короткий код, который каким-то (немыслимым для меня) образом открывает мне страницу /application/views/index/template.blade.php
Ну и там подключаются внутри неё другие страницы, библиотеки и т.д. С этим уже более менее понятно.

А если теперь я хочу создать, например, страницу с контактами. Ну т.е. конкретно contacts.php.
Я конечно могу её положить в public рядом с index.php и она будет работать. Но чтобы мне подключать те же скрипты, шапку, футер и т.д. мне нужно, чтобы этот contacts.php (опять же каким-то чудотворным образом) выводил меня на какой то другой шаблон.
Т.е. код должен быть похож (как я интуитивно догадываюсь) на код index.php, но должна быть конкретная разница, чтобы открывался не template.blade.php, а другая страничка.
Как мне это сделать?
Я понимаю, что если бы я понимал всю механику этого процесса, то таких бы вопросов у меня не возникло, но к сожалению я её пока не до конца понимаю.

Ещё раз заранее благодарен за ответы.

#10 Re: Laravel 3 » Перенос сайта на Lavarel » 01.05.2013 16:39:48

Не вижу нигде там include_path.
Код index.php я вам привёл.

Вот paths.php:

<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package  Laravel
* @version  3.2.3
* @author   Taylor Otwell <taylorotwell@gmail.com>
* @link     http://laravel.com
*/

/*
|----------------------------------------------------------------
| Application Environemtns
|----------------------------------------------------------------
|
| Laravel takes a dead simple approach to environments, and we
| think you'll love it. Just specify which URLs belongs to a
| given environment, and when you access your application
| from a URL matching that pattern, we'll be sure to
| merge in that environment's configuration files.
|
*/

$environments = array(

    'local' => array('http://localhost*', '*.dev'),

);

// --------------------------------------------------------------
// The path to the application directory.
// --------------------------------------------------------------
$paths['app'] = 'application';

// --------------------------------------------------------------
// The path to the Laravel directory.
// --------------------------------------------------------------
$paths['sys'] = 'laravel';

// --------------------------------------------------------------
// The path to the bundles directory.
// --------------------------------------------------------------
$paths['bundle'] = 'bundles';

// --------------------------------------------------------------
// The path to the storage directory.
// --------------------------------------------------------------
$paths['storage'] = 'storage';

// --------------------------------------------------------------
// The path to the public directory.
// --------------------------------------------------------------
$paths['public'] = 'public';

// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
// END OF USER CONFIGURATION. HERE BE DRAGONS!
// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

// --------------------------------------------------------------
// Change to the current working directory.
// --------------------------------------------------------------
chdir(__DIR__);

// --------------------------------------------------------------
// Define the directory separator for the environment.
// --------------------------------------------------------------
if ( ! defined('DS'))
{
    define('DS', DIRECTORY_SEPARATOR);
}

// --------------------------------------------------------------
// Define the path to the base directory.
// --------------------------------------------------------------
$GLOBALS['laravel_paths']['base'] = __DIR__.DS;

// --------------------------------------------------------------
// Define each constant if it hasn't been defined.
// --------------------------------------------------------------
foreach ($paths as $name => $path)
{
    if ( ! isset($GLOBALS['laravel_paths'][$name]))
    {
        $GLOBALS['laravel_paths'][$name] = realpath($path).DS;
    }
}

/**
* A global path helper function.
*
* <code>
*     $storage = path('storage');
* </code>
*
* @param  string  $path
* @return string
*/
function path($path)
{
    return $GLOBALS['laravel_paths'][$path];
}

/**
* A global path setter function.
*
* @param  string  $path
* @param  string  $value
* @return void
*/
function set_path($path, $value)
{
    $GLOBALS['laravel_paths'][$path] = $value;
}


Я предполагаю ответ на поверхности, но я его что-то не вижу.
Обшарил уже много папок, не понимаю где заложена html структура, где прописаны мета теги и т.д.

Я раньше пользовался adminizer'ом, так там в индексе были прописаны require на части страницы.
Header, head_styles, footer и т.д. И собственно в них редактировался весь код.
Здесь же что-то непонятно где ОНО лежит.

#11 Re: Laravel 3 » Перенос сайта на Lavarel » 01.05.2013 15:07:38

Вопрос заключает в том, откуда берётся весь фронтенд?)

Я вижу, есть папки (в public) с сss, с js, с изображениями. Ну видимо эти вещи он оттуда и берёт, это понятно.
Но откуда берётся вся html структура? С блоками, списками, классами?) Где это всё?)

#12 Laravel 3 » Перенос сайта на Lavarel » 01.05.2013 14:49:28

d1st
Ответов: 8

Добрый день!
Задам, наверное, очень глупый вопрос, но тем не менее не получается разобраться иначе.

У меня есть сайт, состоящий из двух страничек (к примеру). Как мне перенести его на среду lavarel?
То есть, вот есть примеры движков, использующих в себе lavarel. Как например этот - https://github.com/dr-dimitru/indira
И всё устанавливается и работает (я имею ввиду тестовый сайт, который там уже есть).

Но в самом index.php только:

define('LARAVEL_START', microtime(true));
$web = true;
require '../paths.php';
unset($web);
require path('sys').'laravel.php';

В свою очередь в paths.php тоже код в несколько строк. И это очень локанично и здорово.
Вот только сайт то открывается и там куча всего, но откуда он это всё берёт мне непонятно))

Ещё раз извиняюсь за глупый вопрос, надеюсь вы поможете мне прояснить ситуацию.
Заранее благодарен за ответ.

С уважением, d1st.

Подвал раздела