функция require_once - PullRequest
       17

функция require_once

0 голосов
/ 20 января 2012

У меня есть этот набор кодов от JpGraph, чтобы помочь мне с созданием гистограммы.

<?php
require_once ('src/jpgraph.php');
require_once ('src/jpgraph_bar.php');
$datay=array(1992,1993,1995,1996,1997,1998,2001);

// Size of graph
$width=400;
$height=500;

// Set the basic parameters of the graph
$graph = new Graph($width,$height);
$graph->SetScale('textlin');

$top = 60;
$bottom = 30;
$left = 80;
$right = 30;
$graph->Set90AndMargin($left,$right,$top,$bottom);

// Nice shadow
$graph->SetShadow();

// Setup labels
$lbl = array("Andrew\nTait","Thomas\nAnderssen","Kevin\nSpacey","Nick\nDavidsson",
"David\nLindquist","Jason\nTait","Lorin\nPersson");
$graph->xaxis->SetTickLabels($lbl);

// Label align for X-axis
$graph->xaxis->SetLabelAlign('right','center','right');

// Label align for Y-axis
$graph->yaxis->SetLabelAlign('center','bottom');

// Titles
$graph->title->Set('Number of incidents');

// Create a bar pot
$bplot = new BarPlot($datay);
$bplot->SetFillColor('orange');
$bplot->SetWidth(0.5);
$bplot->SetYMin(1990);

?>

Однако, это будет работать, только если я поставлю его прямо наверху моего кода.Если я положу его куда-нибудь еще, он не будет отображаться.Есть ли способ преодолеть это так, чтобы, если бы я поместил код специально в одном месте, например, под ним, там появится?Кроме того, я буду использовать некоторые данные из своей собственной базы данных в качестве значений для этого графика.

Спасибо.

Ответы [ 4 ]

1 голос
/ 20 января 2012

Требуются / включаются, решаются во время выполнения, а не во время анализа. Это позволяет им вызываться динамически. Следовательно, они должны быть завершены, прежде чем на любой их код можно будет ссылаться.

Альтернативные методы просмотра: автозагрузка , spl_autoload . Это позволяет загружать файлы классов по первой ссылке.

Однако из ваших комментариев видно, что проблема заключается в использовании JpGraph, требующем отправки заголовков. Вам нужно проверить studentcourse.php, чтобы увидеть, генерируются ли какие-либо выходные данные (включая случайные пробелы).

1 голос
/ 20 января 2012

JpGraph создает изображение, которое отображается. Вы не можете выводить текст и изображения одновременно.

0 голосов
/ 20 января 2012

Это генерирует изображение, верно?

Я бы поместил это в файл сам по себе, а затем на странице, где вы хотите отобразить график, просто выполните:

<img src="myGraph.php">
0 голосов
/ 20 января 2012

Ну, вы не можете избежать того факта, что когда вы вызываете new Graph(), класс уже должен существовать, поэтому, если вы добавите файлы после этой строки, он никогда не будет работать.

...