467,134 Members | 1,059 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,134 developers. It's quick & easy.

How to keep global strings in another file?

Hi!

I want to have a number of strings in another file, which I can
include everywhere... but I cannot make them reachable from the top
file. I have looked at var and global to to this but without luck.
The idea is to have all text the same place, which minimses changes
and spelling errors.

something like error messages stored:

<?
$sError001="stupid user";
$sError002="not available";
?>

and then :

include "errormsgs.php";
echo $sError001;

BR
Sonnich

Mar 15 '07 #1
  • viewed: 1494
Share:
9 Replies
Message-ID: <11**********************@b75g2000hsg.googlegroups .comfrom
Sonnich contained the following:
>something like error messages stored:

<?
$sError001="stupid user";
$sError002="not available";
?>

and then :

include "errormsgs.php";
echo $sError001;
Well yeah, that will work, so what is the question?

Though personally, I'd use an array.

<?
$sError[1]="stupid user";
$sError[2]="not available";

?>
>
and then :
include "errormsgs.php";
echo $sError[1];
--
Geoff Berrow (put thecat out to email)
It's only Usenet, no one dies.
My opinions, not the committee's, mine.
Simple RFDs http://www.ckdog.co.uk/rfdmaker/
Mar 15 '07 #2
Sonnich schreef:
Hi!

I want to have a number of strings in another file, which I can
include everywhere... but I cannot make them reachable from the top
file. I have looked at var and global to to this but without luck.
The idea is to have all text the same place, which minimses changes
and spelling errors.

something like error messages stored:

<?
$sError001="stupid user";
$sError002="not available";
?>

and then :

include "errormsgs.php";
echo $sError001;
This should work. You have another error. \

Btw set it up a little different. That way you can allways change ur
error code without redoing the same echo over and over again.

include('somefile');
showerror(1);

function showerror($no)
{
$errors=array(
1=>'wrong page',
2=>'hack attempt'
)

echo $errors[$no];
// do stuff here later
}

--
Arjen
http://www.hondenpage.com
Mar 15 '07 #3
On Mar 15, 3:20 pm, Geoff Berrow <blthe...@ckdog.co.ukwrote:
Message-ID: <11**********************@b75g2000hsg.googlegroups .comfromSonnichcontained the following:
something like error messages stored:
<?
$sError001="stupid user";
$sError002="not available";
?>
and then :
include "errormsgs.php";
echo $sError001;

Well yeah, that will work, so what is the question?
The point it, that it does not work.

Mar 15 '07 #4
Sonnich schreef:
On Mar 15, 3:20 pm, Geoff Berrow <blthe...@ckdog.co.ukwrote:
>Message-ID: <11**********************@b75g2000hsg.googlegroups .comfromSonnichcontained the following:
>>something like error messages stored:
<?
$sError001="stupid user";
$sError002="not available";
?>
and then :
include "errormsgs.php";
echo $sError001;
Well yeah, that will work, so what is the question?

The point it, that it does not work.
And his point is that it does work :-) You have another error somewhere
... are you sure you have included the correct file?

try this->
errormsg.php

echo "you have included errormsg.php";

--
Arjen
http://www.hondenpage.com
Mar 15 '07 #5
On Mar 15, 3:32 pm, Floortje <l...@zingmaarmetmijmee.enelwrote:
Sonnichschreef:On Mar 15, 3:20 pm, Geoff Berrow <blthe...@ckdog.co.ukwrote:
Message-ID: <1173963662.556376.252...@b75g2000hsg.googlegroups .comfromSonnichcontained the following:
>something like error messages stored:
<?
$sError001="stupid user";
$sError002="not available";
?>
and then :
include "errormsgs.php";
echo $sError001;
Well yeah, that will work, so what is the question?
The point it, that it does not work.

And his point is that it does work :-) You have another error somewhere
.. are you sure you have included the correct file?
I found, that my problem is to include this into a class...

include...

class whatever
{
$somthing= $somthing_from_include_file.

In other words, I want to export texts used in my class to a file...

/S

Mar 15 '07 #6
Classes are somewhat different. Run this code (maybe fix a minor speling
error .. I didn't test) and compare it with your code.

class a
{
public $error1

public function a()
{
$this->error1='howdy';
}
}

class b extends a
{
private function b()
{
echo $this->error1;
}
class c
{
private function c()
{
global $a
echo $a->error1;
}
}

$a=new a
$b=new b
$c=new c

--
Arjen
http://www.hondenpage.com
Mar 15 '07 #7
Sonnich wrote:
On Mar 15, 3:32 pm, Floortje <l...@zingmaarmetmijmee.enelwrote:
>Sonnichschreef:On Mar 15, 3:20 pm, Geoff Berrow <blthe...@ckdog.co.ukwrote:
>>>Message-ID: <1173963662.556376.252...@b75g2000hsg.googlegroups .comfromSonnichcontained the following:
something like error messages stored:
<?
$sError001="stupid user";
$sError002="not available";
?>
and then :
include "errormsgs.php";
echo $sError001;
Well yeah, that will work, so what is the question?
The point it, that it does not work.
And his point is that it does work :-) You have another error somewhere
.. are you sure you have included the correct file?

I found, that my problem is to include this into a class...

include...

class whatever
{
$somthing= $somthing_from_include_file.

In other words, I want to export texts used in my class to a file...

/S
It would help if you would post your entire code - not just little pieces.

For instance, your first statement was:

"I want to have a number of strings in another file, which I can include
everywhere... but I cannot make them reachable from the top file.".

Now you're saying:

"In other words, I want to export texts used in my class to a file..."

Two entirely different things.

And BTW - you should be using <?php instead of just <?. Most hosts
nowadays are running with short_tags_off.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Mar 15 '07 #8
On Mar 15, 5:34 pm, Jerry Stuckle <jstuck...@attglobal.netwrote:
Sonnichwrote:
On Mar 15, 3:32 pm, Floortje <l...@zingmaarmetmijmee.enelwrote:
Sonnichschreef:On Mar 15, 3:20 pm, Geoff Berrow <blthe...@ckdog.co.ukwrote:
Message-ID: <1173963662.556376.252...@b75g2000hsg.googlegroups .comfromSonnichcontained the following:
something like error messages stored:
<?
$sError001="stupid user";
$sError002="not available";
?>
and then :
include "errormsgs.php";
echo $sError001;
Well yeah, that will work, so what is the question?
The point it, that it does not work.
And his point is that it does work :-) You have another error somewhere
.. are you sure you have included the correct file?
I found, that my problem is to include this into a class...
include...
class whatever
{
$somthing= $somthing_from_include_file.
In other words, I want to export texts used in my class to a file...
/S

It would help if you would post your entire code - not just little pieces.

For instance, your first statement was:

"I want to have a number of strings in another file, which I can include
everywhere... but I cannot make them reachable from the top file.".

Now you're saying:

"In other words, I want to export texts used in my class to a file..."

Two entirely different things.
Hardly. I could also export all error messages to a file. I can take
any text and put it in a file. Appearently we have different opnions
about this.

Code as I have it:

Include file:
<?php
$test="hello";

//---------------------------------- header for sheets...
$sSheet_001="blablaabla
File, which uses the include file:

<?php
include '/functions.php'; <------------ basic functions and other
stuff, used in class.
include 'cls_inc.php'; <----------- here I include the file

class clsMyClass
{
var $Contens = array();

function SaveFile($filename)
{
// extract values for later use
$name=ExtractFilename($filename); <--------- functions from
functions.php
$path=ExtractFilePath($filename);
$i=strrpos($name, ".");
if($i===false)
$files=$name."_files";
else
$files=substr($name, 0, $i)."_files";
$filesdir=$path."\\".$files;
// create directory for
if(!file_exists($filesdir))
mkdir($filesdir);

$fFile=fopen($filesdir."\\page".Format($i, 3).".htm", "w");
fwrite($fFile, $sSheet_001); <------------ this is where the
string is used...
// save contens of page
for($y=0;$y<count($this->Contens[$i]);$y++)
{
fwrite($fFile, "<tr>...
.....

Does this explain?

BR
Sonnich

Mar 15 '07 #9
Rik
Sonnich <so************@elektrobit.comwrote:
On Mar 15, 5:34 pm, Jerry Stuckle <jstuck...@attglobal.netwrote:
>Sonnichwrote:
On Mar 15, 3:32 pm, Floortje <l...@zingmaarmetmijmee.enelwrote:
Sonnichschreef:On Mar 15, 3:20 pm, Geoff Berrow
<blthe...@ckdog.co.ukwrote:
>>>Message-ID:
<1173963662.556376.252...@b75g2000hsg.googlegroup s.com
fromSonnichcontained the following:
>>>>something like error messages stored:
<?
$sError001="stupid user";
$sError002="not available";
?>
and then :
include "errormsgs.php";
echo $sError001;
Well yeah, that will work, so what is the question?
The point it, that it does not work.
And his point is that it does work :-) You have another error
somewhere
>.. are you sure you have included the correct file?
I found, that my problem is to include this into a class...
include...
class whatever
{
$somthing= $somthing_from_include_file.
In other words, I want to export texts used in my class to a file....
/S

It would help if you would post your entire code - not just little
pieces.

For instance, your first statement was:

"I want to have a number of strings in another file, which I can include
everywhere... but I cannot make them reachable from the top file.".

Now you're saying:

"In other words, I want to export texts used in my class to a file..."

Two entirely different things.

Hardly. I could also export all error messages to a file. I can take
any text and put it in a file. Appearently we have different opnions
about this.

Code as I have it:

Include file:
<?php
$test="hello";

//---------------------------------- header for sheets...
$sSheet_001="blablaabla
File, which uses the include file:

<?php
include '/functions.php'; <------------ basic functions and other
stuff, used in class.
include 'cls_inc.php'; <----------- here I include the file

class clsMyClass
{
var $Contens = array();

function SaveFile($filename)
{
// extract values for later use
$name=ExtractFilename($filename); <--------- functions from
functions.php
$path=ExtractFilePath($filename);
$i=strrpos($name, ".");
if($i===false)
$files=$name."_files";
else
$files=substr($name, 0, $i)."_files";
$filesdir=$path."\\".$files;
// create directory for
if(!file_exists($filesdir))
mkdir($filesdir);

$fFile=fopen($filesdir."\\page".Format($i, 3).".htm", "w");
fwrite($fFile, $sSheet_001); <------------ this is where the
string is used...
// save contens of page
for($y=0;$y<count($this->Contens[$i]);$y++)
{
fwrite($fFile, "<tr>...
.....

Does this explain?
It does. You variables are not in the methods scope, so they're not
available. There are several solutions:

1. Define them as constants rather then variables. Constants can be used
everywhere.
2. Include the file in the method itself.
3. Pass the variables in the function/method call.
4. Use the global keyword.
5. Use the $GLOBALS array.
6. Set them as class variables in your class declaration or constructor.

4 & 5 are very ugly, which one to use highly depends on how the entier
code is supposed to work, wether it should be repeatable, etc.

Normally I'd opt for 3 when the the variables are also used elsewhere, and
6 if they're only relevant to this class.
--
Rik Wasmus
Posted on Usenet, not any forum you might see this in.
Ask Smart Questions: http://tinyurl.com/anel
Mar 15 '07 #10

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Estella | last post: by
6 posts views Thread by martin | last post: by
6 posts views Thread by calcop@gmail.com | last post: by
3 posts views Thread by Gediminas | last post: by
7 posts views Thread by mail747097@fificorp.net | last post: by
112 posts views Thread by istillshine@gmail.com | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.