6

When declaring the following namespace:

<?php

namespace Example\3000;

I got this error:

Parse error:  syntax error, unexpected '3000' (T_LNUMBER), expecting identifier (T_STRING) in [...]

So I wondered whether a namespace in PHP may start with a number?

hielsnoppe
  • 2,819
  • 3
  • 31
  • 56

2 Answers2

18

No, it must not. It must start with a letter.

It took me a while to find this in a comment on PHP.net.

To use numbers e.g. for versioning it is necessary to prepend letters, e.g. like in the following:

<?php

namespace Example\V_3000;
hielsnoppe
  • 2,819
  • 3
  • 31
  • 56
1

Note: Special character cannot be used. The only special character I have found that works is the underscore (_). For example if you want a folder for version 3.0.01, then do the following:

    <?php
    namespace Example\v3_0_01;
Rich R
  • 367
  • 4
  • 15