Building First Application
- hrach
- Member | 1838
- No, there isn't any code generation.
- try First app with google translator: http://translate.google.cz/translate?…
- and see github of this quickstart: https://github.com/…mmits/master
- Milo
- Nette Core | 1283
Hi,
Nette Framework does not contain such tools. It is a bundle of PHP libraries for fast and safe web pages/applications/services development.
For scheduled runs you must use other tools, like cron on Linux or Task Scheduler on Windows.
Or maybe I misunderstood your question.
Last edited by Milo (2013-01-30 13:20)
- madalina
- Member | 7
Well.. I have the application already written. And now I want to create a
new php script related to this application, which should run automatically at
some date. The script fills in some information in the database for certain
users and sends confirmation emails.
So after I have this new script I don't really know which are the
next steps.
- hrach
- Member | 1838
I suggest creating some bootstrap file without routing, then two different bootstrap files, which includes the first one, and each of them add routing. The first one adds classic web routing, the second one adds CliRouter.
Then just add to you cron sth like:
php /path/to/boostrap_with_cli_router.php YourPresenter:action -param=test
- Honza Kuchař
- Member | 1662
CliRouter looks very interesting and useful!
Last edited by Honza Kuchař (2013-02-06 14:10)
- ezraobiwale
- Member | 2
Hi. I'm totally new to the NF. I've got the quickstart but it won't work. I get a 500 Server Error. What to do?
- DavidTheNewbie
- Member | 79
Hello to you all. I am a complete beginner currently wondering digging into templating. I am at a loss as to why {block name}{/block} is properly translated by the engine and {define name}{/define} or {capture name}{/capture} throws an error saying that it is an uknown macro. Thanks beforehand for a kickstart.
Last edited by DavidTheNewbie (2014-01-19 12:36)
- Jan Tvrdík
- Nette guru | 2595
This should obviously work so I have two questions for you
- What version of Nette do you use?
- Can you post here an example of the template which throws the “unknown macro” error?
- DavidTheNewbie
- Member | 79
Hi,
Nette 2.1.0, PHP > 5.3.
@layout-test.phtml contains the following code
<div style=‘background-color:Red;’>
<p>Jméno {block #name}{/block}</p>
<p>Příjmení {block #surname}{/block}</p>
</div>
default.phtml contains the following code
{include '@layout-test.phtml'}
{block #name}David{/block} … ok
{block #surname}Frog{/block} … ok, i.e. displays data twice – both in the
included layout and from the block
but when BLOCK is renamed to DEFINE
{define #name}David{/define} … throws unknown macro error
{define #surname}Frog{/define} … throws unknown macro error
When I switch the .PHTML extension of the DEFAULT.PHTML to .LATTE to see for example if the DEFAULT.LATTE translates it correctly, the Debugger says that it cannot locate the DEFAULT.PHTML file.
Last edited by DavidTheNewbie (2014-01-19 15:22)
- Filip Procházka
- Moderator | 4668
First of all .phtml
is deprecated, you should use
.latte
. But I have no idea why the macros don't work, would you
mind pasting a link for expanded Tracy screenshot?
Also, the forum has formating tags for code, you should learn how to use it, since you're probably gonna be visiting us often as a beginner :)
And next time create please a separate topic, thanks.
Last edited by Filip Procházka (2014-01-19 15:28)
- DavidTheNewbie
- Member | 79
Hi
Ok, .PHTML is deprecated, but renaming it to .LATTE throws an error saying that a … .PHTML file is missing which should not be so if I´m using the latest version of Nette. Here are the screenshots of the Tracy error messages when trying to use {define}{/define} instead of {block}{/block}: obr1 obr2 Thanks guys for your time and energy.
Last edited by DavidTheNewbie (2014-01-19 17:05)
- Jan Tvrdík
- Nette guru | 2595
You don't have Nette 2.1, according to the screenshots you have installed Nette 0.8.0 released on 2009–05–04. Where did you get this version anyway?
- DavidTheNewbie
- Member | 79
This is becoming really suspicious as I clicked to download the latest version and, as a result, the NetteFramework-2.1.0 folder was obtained and is now being used for testing by me. How is that possible? Is the download link misleading?
Last edited by DavidTheNewbie (2014-01-19 17:39)
- Jan Tvrdík
- Nette guru | 2595
I strongly believe that is not possible to find a link for downloading Nette
2.1.0 which would actually download 0.8.0. In every release archive there is a
file version.txt
which clearly states which version you have
downloaded.
- DavidTheNewbie
- Member | 79
You were absolutely right. Just accidentally mixed two versions. Now, the latest version is already in place, but another error is thrown as is visible here.
My index.php:
<?php
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/../app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/../libs');
// load bootstrap file
require APP_DIR . '/bootstrap.php';
My bootstrap.php:
<?php
// pokud používáte verzi pro PHP 5.3, odkomentujte následující řádek:
use Nette\Application\Routers\Route,
Nette\Application\Routers\SimpleRouter;
// Step 1: Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';
// Configure application
$configurator = new Nette\Configurator;
// Enable Nette Debugger for error visualisation & logging
$configurator->setDebugMode(TRUE);
$configurator->enableDebugger(__DIR__ . '/log');
// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory(__DIR__ . '/temp');
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config.neon');
$container = $configurator->createContainer();
// Setup router using mod_rewrite detection
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$router = $container->getService('router');
$router[] = new Route('index.php', 'Machine:show', Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>[/<id>]', 'Machine:show');
} else {
$container->addService('router', new SimpleRouter('Machine:show'));
}
return $container;
My config.neon file:
#
# SECURITY WARNING: it is CRITICAL that this file & directory are NOT accessible directly via a web browser!
# https://nette.org/en/security-warning
#
php:
date.timezone: Europe/Prague
nette:
database:
dsn: "sqlite:%appDir%/model/demo.db3"
services:
- Authenticator
- AlbumRepository
This whole framework appears to be an amazing one but I´m having difficulties starting it all up.
Last edited by DavidTheNewbie (2014-01-21 14:08)
- screenas
- Member | 5
this neither seems to be Nette 2.1.0
have you already tried the new Quickstart?
With composer it worked for me like a charm.
- DavidTheNewbie
- Member | 79
Hi, it really is the right version as the info at the bottom of the page reveals. I´ll give the Quickstart a try and we will see.
Last edited by DavidTheNewbie (2014-01-21 14:09)
- Jan Tvrdík
- Nette guru | 2595
@DavidTheNewbie: Can you send me the copy of your
config.neon
which causes the trouble? But I need the exact binary
copy not just the copy of the file content. Upload it e.g. to ulozto.net and
post here a link.
- DavidTheNewbie
- Member | 79
So here I am again. I just wanted to see the QuickStart project running, so having downloaded it from GitHub and trying to run it, an error is thrown as already mentioned above. Here are the neon and neon local files but without any modifications from my side.
Last edited by DavidTheNewbie (2014-01-21 14:11)
- DavidTheNewbie
- Member | 79
Hi
Here is my bootstrap.php The neon sections seem enabled to me:
<?php
// Load Nette Framework or autoloader generated by Composer
require __DIR__ . '/../libs/Nette/loader.php';
$configurator = new Nette\Config\Configurator;
// Enable Nette Debugger for error visualisation & logging
$configurator->setDebugMode(TRUE);
$configurator->enableDebugger(__DIR__ . '/../log');
// Specify folder for cache
$configurator->setTempDirectory(__DIR__ . '/../temp');
// Enable RobotLoader - this will load all classes automatically
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->addDirectory(__DIR__ . '/../libs')
->register();
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon', $configurator::NONE); // none section
$container = $configurator->createContainer();
return $container;
And here is the error thrown.
Last edited by DavidTheNewbie (2014-01-21 13:24)